import Foundation
let pattern = #"$elements = $xpath->query('*class[@="itemFoot"]');"#
let regex = try! NSRegularExpression(pattern: pattern, options: .caseInsensitive)
let testString = ##"""
<img id="ctl00_oCPH1_imgPicture" class="scaled160" src="/net/usermedia/mediafile.ashx?iid=24126318&sz=0" alt="Namn" /> <div class="toolbox">
</div>
<span title="by _Alessa_" class="designer singlelined">by _Alessa_</span>
<div class="outfitType" style="width:115px;">
<span title="This outfit is designed for the Male gender." class="block"><img src="/net/clothing/images/Male.png" />Male</span>
<span title="New Style models can contain shape within the clothing. The model's torso, and legs can be completely replaced to give clothing a more natural appearance (Dresses, baggy clothes, etc)." class="block"><img src="/net/clothing/images/newstyle.png" />New</span>
<span title="This outfit can receive automatic updates from the designer." class="block"><img src="/net/clothing/images/autoupdate.png" />Auto-Updateable</span>
</div>
</div>
</a>
<div class="itemFoot">
<span title="boots 01" class="name">boots 01</span>
<span class="price"><b>®</b><em>3.00</em> </span>
<div class="buttons">
<a class="details" href="/clothing/outfit.aspx?id=1816051">Details</a>
</div>
</div>
</div>
</div>
"""##
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let matches = regex.matches(in: testString, range: stringRange)
var result: [[String]] = []
for match in matches {
var groups: [String] = []
for rangeIndex in 1 ..< match.numberOfRanges {
let nsRange = match.range(at: rangeIndex)
guard !NSEqualRanges(nsRange, NSMakeRange(NSNotFound, 0)) else { continue }
let string = (testString as NSString).substring(with: nsRange)
groups.append(string)
}
if !groups.isEmpty {
result.append(groups)
}
}
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