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 = #"<p>(.*)<\/p>"#
let regex = try! NSRegularExpression(pattern: pattern)
let testString = #"<p>Lorem ipsum dolor sit amet, ius ex tota iriure. Impetus viderer mel at, an probo novum vituperatoribus nec, ne est maiorum euripidis. Integre sanctus dolorem cu vim, ei solet albucius pri. Te minim novum recusabo mea, vim ut lucilius maluisset, zril invidunt singulis sed id.</p><p>In consul salutandi cum. Te salutatus mnesarchum scriptorem sea, audire suavitate signiferumque ne vel. Alienum adversarium mel an, ius nulla tacimates at. Mentitum persequeris suscipiantur ne pri, et nam laudem oportere.</p><p>Ea melius ullamcorper eum, his probo euripidis necessitatibus ei. Eu lorem interesset usu, labore urbanitas ea usu. His te alii diam atqui. Eum an sapientem sadipscing. Autem latine voluptatibus per in, usu movet invidunt laboramus ex. Ne vim civibus perpetua definiebas, mei at cibo sale contentiones, vel dicant bonorum in. His ex doming constituto.</p>"#
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