import Foundation
let pattern = #"http(s)?:\/\/media(-test)?\.mein-helix.de[a-zA-Z0-9\/]+\/([\w-+.]*)"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
<p>Wir sind ein modernes und dynamisches Unternehmen, das mit starken Produkten am Markt ist. Zur Verstärkung unseres Teams suchen wir ab sofort ein/e Alleskönner/in.</p>
<p><img alt="helix-logo-50_1.png" src="https://media-test.mein-helix.de/files/image/2020/09/DydjLfTTupBvdUmFhD0yazQkUJNbx6SU_helix-logo-50_1.png" /></p>
<p><strong>Ihre Herausforderungen</strong></p>
<p> </p>
<ul>
<li>Sie analysieren und verstehen die gegenwärtigen Aufgaben, die sich aus den internen Strukturen und den Ansprüchen der Kunden ergeben.</li>
</ul>
<p> </p>
<ul>
<li>Sie leiten daraus die idealen Lösungen ab und setzen diese gezielt um.</li>
</ul>
<p><img alt="helix-logo-50_1.png" src="https://media.mein-helix.de/files/image/2020/09/DydjLfTTupBvdUmFhD0yazQkUJNbx6SU_helix-logo-50_1.png" /></p>
<p> </p>
<ul>
<li>Sie verwirklichen die Wünsche und Vorstellungen unserer Kunden in bestmöglicher Weise und sorgen so für eine maximale Kundenzufriedenheit.</li>
</ul>
<p> </p>
<ul>
<li>Sie finden ständig neue Wege, um die Wirksamkeit unserer Maßnahmen nachhaltig zu steigern.</li>
</ul>
<p> </p>
<p>jjj</p>
<p><strong>Ihr Profil</strong></p>
<p> </p>
<ul>
<li>Hohe Komplexität, hohe Ungewissheit und das Fehlen eines vorgegebenen Lösungswegs schrecken sie nicht ab.</li>
</ul>
<p> </p>
<ul>
<li>Sie können sich ohne Fachwissen sehr schnell in neue Problembereiche eindenken und lernen schnell.</li>
</ul>
<p> </p>
<ul>
<li>Sie können viele verschiedene (auch unkonventionelle) Lösungen generieren und sich trotz unvollständiger und unklarer Information für eine davon entscheiden.</li>
</ul>
<p> </p>
<ul>
<li>Sie können sich gut selbst strukturieren.</li>
</ul>
<p><br />
Wenn Sie an einer kreativen Arbeitsatmosphäre in einem fantastischen Team, mitten in Bamberg interessiert sind, bewerben Sie sich noch heute online.</p>
"""#
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