От 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" и "Foo", потому что "F" подобран к регистру. Он не соответствует «fOO», потому что «oo» соответствует чувствительности к регистру.
Это захват или нет? – zaph
@ Zaph: Это не так (насколько я вижу) представляет новую группу захвата. Это то, что вы имели ввиду? –
Да, это вопрос. Благодарю. – zaph