import Foundation
let pattern = #"([A-Z]+)"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
'coordinatorCountry': 'coordinator_country',
'ecContribution': 'ec_contribution',
'ecMaxContribution': 'ec_max_contribution',
'endDate': 'end_date',
'frameworkProgramme': 'framework_programme',
'fundingScheme': 'funding_scheme',
'participantCountries': 'participant_countries',
'projectUrl': 'project_url',
'startDate': 'start_date',
'totalCost': 'total_cost',
'activityType': 'activity_type',
'ecCContribution': 'ec_contribution',
'endOfParticipation': 'end_of_participation',
'organizationUrl': 'organization_url',
'postCode': 'post_code',
'shortName': 'short_name',
'vatNumber': 'vat_number',
'projectID': 'project_id',
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"_\L$1"#
let result = regex.stringByReplacingMatches(in: testString, range: stringRange, withTemplate: substitutionString)
print(result)
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Swift 5.2, please visit: https://developer.apple.com/documentation/foundation/nsregularexpression