From the Link to the NSRegularExpression Class :
Table 2 Regular Expression Operators
...
(?ismwx-ismwx:...)
Flag settings. Evaluate the expression in brackets with the specified flags or -disabled ....
(?ismwx-ismwx)
Flag settings. Change the flag settings. Changes apply to part of the template after installation. For example, (? I) changes to case insensitive ...
Example:
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)) }
Output:
foo
Foo
The pattern matches "foo" and "Foo" because "f" is not case sensitive. It does not match "fOO" because "oo" matches case sensitivity.
source share