import Foundation
let pattern = #"<(script|style)((?:(?!src|nonce).)*?)>"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = ##"""
<!DOCTYPE html>
<html class="no-js" lang="en-US">
<script>window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.0.0\/svg\/","svgExt":".svg","source":{"wpemoji":"https:\/\/localhost:32810\/wp-includes\/js\/wp-emoji.js?ver=5.6-alpha-48683-src","twemoji":"https:\/\/localhost:32810\/wp-includes\/js\/twemoji.js?ver=5.6-alpha-48683-src"}};
} );</script>
<style>img.emoji {padding: 0 !important;}</style>
<style id='twentytwenty-style-inline-css'>.color-accent{ color: #cd2653; }</style>
<script src='https://localhost:32810/wp-content/themes/twentytwenty/assets/js/index.js?ver=1.5' id='twentytwenty-js-js' async></script>
<script>document.documentElement.className = document.documentElement.className.replace( 'no-js', 'js' );</script>
<style>.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style>
<style media="print">#wpadminbar { display:none; }</style>
<style media="screen">html { margin-top: 32px !important; }</style>
</head>
<body>
<script test>(function() {var request; b[c] = b[c].replace( rcs, ' ' );}());</script>
<script src='https://localhost:32810/wp-includes/js/hoverintent-js.min.js?ver=2.2.1' id='hoverintent-js-js'></script>
<script src='https://localhost:32810/wp-includes/js/admin-bar.js?ver=5.6-alpha-48683-src' id='admin-bar-js'></script>
<script src='https://localhost:32810/wp-includes/js/wp-embed.js?ver=5.6-alpha-48683-src' id='wp-embed-js'></script>
<script test>var t, e = location.hash.substring(1);</script>
</body>
</html>
"""##
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #"<$1 nonce="test"$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