Вот весь пример, который должен соответствовать:
let input = "L’iPhone XR serait un topselling (des prévisions de vente en hausse de 50% avant même sa sortie)"
let pattern = "\\b(iPhones?(\\s*(se|X((s(\\s*Max)?)|r)?|\\d(s|c)?(\\s*(Plus|Pro))?))?)\\b"
let regex: NSRegularExpression
do {
regex = try NSRegularExpression(pattern: pattern, options: [.caseInsensitive, .useUnicodeWordBoundaries])
}
catch let error {
fatalError("pattern ”\(pattern)” has an issue. \(error.localizedDescription)")
}
let range = NSMakeRange(0, input.count)
let matches = regex.matches(in: input, range: range)
В настоящее время регулярное выражение не захватывает ни одну группу.Я ожидаю, что в качестве первой группы будет записан «iPhone XR».
Вот тестовый стенд: https://regex101.com/r/aHcyPQ/2