2
正如标题所述,我不知道Objective-c或Swift中的NSRegularExpression是否支持部分不区分大小写的搜索?NSRegularExpression支持部分不区分大小写吗?
即,模式识别(?ismx)?如果没有,是否有这个无能的简短原因?
我真的很感谢你的解释。
正如标题所述,我不知道Objective-c或Swift中的NSRegularExpression是否支持部分不区分大小写的搜索?NSRegularExpression支持部分不区分大小写吗?
即,模式识别(?ismx)?如果没有,是否有这个无能的简短原因?
我真的很感谢你的解释。
从NSRegularExpression Class Reference:
表2正则表达式运算符
...
(?ismwx-ismwx:...)
标志设置。使用指定的标志启用或-disabled评估带括号的表达式。 ...
(?ismwx-ismwx)
标志设置。更改标志设置。设置后,更改将应用于模式部分。例如,(?i)更改为不区分大小写的匹配。 ...
实施例:
let pattern = "(?i)f(?-i)oo"
//Or: let pattern = "(?i:f)oo"
let regex = NSRegularExpression(pattern: pattern, options: nil, error: nil)!
let string : NSString = "foo, Foo, fOO"
regex.enumerateMatchesInString(string, options: nil, range: NSMakeRange(0, string.length)) {
(result, flags, stop) -> Void in
println(string.substringWithRange(result.range))
}
输出:
foo Foo
图案 “foo” 和 “富”,因为 “f” 被匹配大小写不敏感的匹配。 它与“fOO”不匹配,因为“oo”匹配区分大小写。
捕获与否? – zaph 2014-11-08 23:38:54
@Zaph:它不会(据我所知)引入一个新的捕获组。你是这个意思吗? – 2014-11-08 23:45:24
是的,这是个问题。谢谢。 – zaph 2014-11-08 23:47:20