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