0
は私がresult
の長さを印刷するとき、そうNSRegularExpression
NSRegularExpressionキャプチャグループは
let string = "QWERTY123 ASDFGH"
let nsString = string as NSString
let regex = try! NSRegularExpression(pattern: "(\\D+)\\d+\\s(\\D+)", options: [])
let result = regex.matchesInString(string, options: [], range: NSMakeRange(0, nsString.length))
print(result.count) // prints length of array
for r in 1..<result[0].numberOfRanges
{
print(nsString.substringWithRange(result[0].rangeAtIndex(r))) // prints captured groups
}
for r in result
{
print(nsString.substringWithRange(r.range))
}
使用してキャプチャグループを得るにはほとんど問題の理解を持って明確化、私は1
を取得します。これは、見つかった式の範囲がresult[0]
であることを意味します。しかし、キャプチャされたグループはどのようにresult[0]
に存在しますか?私は間違ったことを考えていますか?
次は、正規表現を(QWE)t
とすると、キャプチャされたグループのループがクラッシュします。どのようにnil
または次の正規表現でキャプチャされたグループが存在しないことを示す何かを返すのですか?
ありがとうございました!
ありがとうございました! –