import Foundation
let pattern = #"\s*<script src="\/((\w+)[\w.\/]+)"><\/script>"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = #"""
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Security-Policy" content="default-src * data: gap: https://ssl.gstatic.com; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>atomic-project</title>
</head>
<body>
<div id="app"></div>
<!-- built files will be auto injected -->
<script src="/app.js"></script><script src="/app.js"></script><script src="/app.js"></script><script src="/app.js"></script></body>
</html>
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"\n<script>\n const $2Script = document.createElement('script');\n $2Script.type = 'text/javascript';\n $2Script.async = true;\n $2Script.src = '$1';\n document.body.appendChild($2Script);\n</script>\n"#
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