这是应该匹配的整个样本:
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