import Foundation
let pattern = #"(?i)([<[]Assembly: Assembly(File|Informational)?Version)\(\"[^\"]*\"\)"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = ##"""
# C#
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.1.0.0")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]
[assembly: AssemblyInformationalVersion("1.0.0 JRC")]
# VBasic
<Assembly: AssemblyCulture("")>
<Assembly: AssemblyVersion("1.1.0.0")]
<Assembly: AssemblyDelaySign(false)]
<Assembly: AssemblyKeyFile("")>
<Assembly: AssemblyKeyName("")>
<Assembly: AssemblyInformationalVersion("1.0.0 JRC")>
"""##
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"\1("0.1.2.3")"#
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