import Foundation
// WARNING: You included a flag that Swift doesn't support: U
// When this flag is set, it inverts the "greediness" of the quantifiers so that they are not greedy by default, but become greedy if followed by '?'.
// As an alternative, this effect can also be achieved by setting a (?U) modifier setting within the pattern or by a question mark behind a quantifier (e.g. .*?).
let pattern = #"<select(?:(?!<\/select)[\n\s\S])*data-level="2"[\n\s\S]*?<\/select>"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
<div class="lsd-search-filter lsd-col-10">
<label for="lsd_search_10574_listdom-location">Regions</label>
<div class="lsd-hierarchical-dropdowns" id="lsd_search_10574_listdom-location_wrapper" data-for="listdom-location" data-id="lsd_search_10574_listdom-location" data-max-levels="2" data-name="sf-listdom-location" data-hide-empty="0">
<select class="listdom-location" name="sf-listdom-location" id="lsd_search_10574_listdom-location_1" placeholder="Select Region" data-level="1">
<option value="">Select Region</option>
<option class="lsd-option lsd-parent-0" value="289">Region 1</option>
<option class="lsd-option lsd-parent-0" value="391">Region 2</option>
<option class="lsd-option lsd-parent-0" value="290">Region 3</option>
</select>
<select class="listdom-location" name="" id="lsd_search_10574_listdom-location_2" placeholder="Select Region" data-level="2">
<option value="">Select Region</option>
<option class="lsd-option lsd-parent-289" value="291">Area 1</option>
<option class="lsd-option lsd-parent-289" value="292">Area 2</option>
</select>
</div>
</div>
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #""#
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