import Foundation
let pattern = #"{\s*([\s\S]*?)\s*}"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = ##"""
<!DOCTYPE html>
<html>
<body>
<button id="btn-get">$.get()</button>
<script data-require="jquery" data-semver="2.0.3" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script type="text/javascript" charset="utf-8">
function getValue(element)
{
alert(element);
//end
}
var content, matched;
$('#btn-get').click(function(e)
{
$.get('abc.html', function(data)
{
content = data;
});
matched = String(content).match("getValue(.*)end");
console.log(matched);
});
</script>
</body>
</html>
"""##
let stringRange = NSRange(location: 0, length: testString.utf16.count)
if let firstMatch = regex.firstMatch(in: testString, range: stringRange) {
let result: [String] = (1 ..< firstMatch.numberOfRanges).map { (testString as NSString).substring(with: firstMatch.range(at: $0)) }
print(result)
} else {
print("No matches were found.")
}
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