1

这是应该匹配的整个样本:

   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

4

1 回答 1

1
于 2018-09-19T12:00:31.810 回答