【发布时间】:2015-10-22 21:19:36
【问题描述】:
我在字符串中有一个正则表达式搜索方法:
extension String {
func searchRegex (regex: String) -> Array<String> {
do {
let regex = try NSRegularExpression(pattern: regex, options: NSRegularExpressionOptions(rawValue: 0))
let nsstr = self as NSString
let all = NSRange(location: 0, length: nsstr.length)
var matches : Array<String> = Array<String>()
regex.enumerateMatchesInString(self, options: NSMatchingOptions(rawValue: 0), range: all) {
(result : NSTextCheckingResult?, _, _) in
let theResult = nsstr.substringWithRange(result!.range)
matches.append(theResult)
}
return matches
} catch {
return Array<String>()
}
}
}
效果很好。但如果我有一个正则表达式 product_title:\['(.*)' 它返回我 product_title:[\'Some title bla bla\' 但我只需要 (.*) 部分。
我是 swift 新手,但在 python 中,这个问题通过使用groups() 函数解决了。如何快速使用捕获组。请举个例子。
【问题讨论】: