0
У меня есть оператор регулярного выражения с несколькими группами захвата, которые разделены | оператор. Как узнать, какая группа захвата совпадает? Единственный способ, который я могу придумать для этого примера, - подсчитывать количество символов, если что-то сопоставляется.Как найти, какая группа сопоставляется в NSRegularExpression
var string = "1234567897"
var pattern = "(^\\d{9}$)|(^\\d{10}$)|(^\\d{13}$)|(^[a-zA-Z]{2}\\d{9}[a-zA-Z]{2}$)"
var myRegex = NSRegularExpression(pattern: pattern, options: nil, error: nil)!
if let myMatch = myRegex.firstMatchInString(string, options: nil,
range: NSRange(location: 0, length: string.utf16Count)) {
println((string as NSString).substringWithRange(myMatch.rangeAtIndex(0)))
}