import Foundation
let pattern = #"<img.+src=['"](?P<src>.+?)['"].*>"#
let regex = try! NSRegularExpression(pattern: pattern, options: .caseInsensitive)
let testString = #"<img class="fr-draggable fr-fil fr-dii" src="//website.com/admin/img/uploads/wysiwyg/ORG_1475303208-troubador1.png" style="width: 300px;" alt="">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vehicula ligula vitae malesuada mollis. Donec tristique augue ut ipsum lacinia rhoncus. Donec a massa ut urna euismod imperdiet. Integer porta efficitur mollis. Vivamus mollis elementum placerat. Praesent viverra felis sem, at fringilla nulla semper ac. Nunc augue velit, tincidunt sed feugiat quis, dapibus eu est. Duis quis varius quam. Nullam quis ultrices lectus.<img class="fr-draggable fr-fir fr-dii" src="//website.com/admin/img/uploads/wysiwyg/ORG_1475303256-troubador2.png" style="width: 300px;"><strong>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla vehicula ligula vitae malesuada mollis. Donec tristique augue ut ipsum lacinia rhoncus. Donec a massa ut urna euismod imperdiet. Integer porta efficitur mollis. Vivamus mollis elementum placerat. Praesent viverra felis sem, at fringilla nulla semper ac. Nunc augue velit, tincidunt sed feugiat quis, dapibus eu est. Duis quis varius quam. Nullam quis ultrices lectus.</strong>"#
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