import Foundation
let pattern = #"(href=\")(.*?)(\.*?">)(.*?)(\*?<\/a>.*?.small">)([0-9]+)(.*?">)([0-9]+)(.*?strong>)([0-9]+ €) (.*[0-9].br>)(.*?)(\<br>)"#
let regex = try! NSRegularExpression(pattern: pattern, options: .dotMatchesLineSeparators)
let testString = #"""
<section class="rbr-aditem-main ad-listitem-main">
<h2><a class="ad-title" href="/anzeigen/s-anzeige/sofort-suhe-wohnung/353529866-203-16331">Sofort suhe Wohnung</a></h2>
<p>Wegen Wasserschaden sucht Ehepaar 2-3 Zimmerwohnung in Höchst und Umgebung ab sofort. Bis 750€ warm.</p>
<p>
<span class="badge-attribute rbr-tag rbr-tag-small">2 Zimmer</span>
<span class="badge-attribute rbr-tag rbr-tag-small">50 m²</span>
</p>
</section>
<section class="rbr-aditem-details ad-listitem-details">
<strong>750 € VB</strong>
<br>
65929<br>
Unterliederbach<br>
</section>
<section class="rbr-aditem-addon ad-listitem-addon">
Heute, 23:36</section>
</article>
</li>
<li class="ad-listitem lazyload-item ">
<article class="rbr-aditem">
<section class="rbr-aditem-image ad-listitem-image">
<div data-href="/anzeigen/s-anzeige/altbau-im-nordend/353505098-203-4303" data-imgsrc="http://i.ebayimg.com/00/s/MTAyNFg3Njg=/z/CYIAAOSw~gRV13uh/$_9.JPG" data-imgtitle="Altbau im Nordend Frankfurt (Main) - Nordend Vorschau" class="rbr-imagebox srpimagebox"></div>
</section>
"""#
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