2014-11-08 128 views

回答

5

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」匹配區分大小寫。

+0

捕獲與否? – zaph 2014-11-08 23:38:54

+0

@Zaph:它不會(據我所知)引入一個新的捕獲組。你是這個意思嗎? – 2014-11-08 23:45:24

+0

是的,這是個問題。謝謝。 – zaph 2014-11-08 23:47:20