import Foundation
let pattern = #"step.+\s+script: \".*blr/(.*).py\"\s+.*\s+args: \[([\"\w\W\s]+?)\]\n"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
step1:
script: "/workspace/feature-test-lib/tests/upgrade_blr/BQT.py"
skip: 0
args: ["testbed"]
step2:
script: "/workspace/feature-test-lib/tests/upgrade_blr/DC_init.py"
skip: 0
args: ["testbed", "dcinit"]
step3:
script: "/workspace/feature-test-lib/tests/upgrade_blr/sensor_upgrade.py"
skip: 0
args: ["testbed", "upgrade"]
step4:
script: "/workspace/feature-test-lib/tests/upgrade_blr/Apply_Policy.py"
skip: 0
args: ["testbed"]
step5:
script: "/workspace/feature-test-lib/tests/upgrade_blr/sensor_checks.py"
skip: 0
args: ["testbed"]
step6:
script: "/workspace/feature-test-lib/tests/upgrade_blr/delete_device.py"
skip: 0
args: ["testbed", "dcinit"]
step7:
script: "/workspace/feature-test-lib/tests/upgrade_blr/DC_init.py"
skip: 0
args: ["testbed", "dcinit"]
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"\1, \2"#
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