2014-11-08 132 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