-1
我有一個正則表達式的xml文件。當我讀到它時,我在regex
變量中得到一個表達式<a class="call-to-action-details".*?\shref="(.*?)"
。轉義正則表達式
然後我打電話給我的字符串方法:print(text.searchRegex(regex))
,它什麼都沒有返回。
但是,如果我把我的正則表達式的方法和逃避一些字符,然後返回結果:
print(text.searchRegex("<a class=\"call-to-action-details\".*?\\shref=\"(.*?)\""))
如何轉義字符?或者我做錯了什麼?我regexSearch功能:
do {
let regex = try NSRegularExpression(pattern: regex,
options: NSRegularExpressionOptions(rawValue: 0))
let nstext = text as NSString
let all = NSRange(location: 0, length: nstext.length)
var matches: Array<String> = Array<String>()
regex.enumerateMatchesInString(text,
options: NSMatchingOptions(rawValue: 0),
range: all) {
(result : NSTextCheckingResult?, _, _) in
let theResult = nstext.substringWithRange(result!.rangeAtIndex(1))
matches.append(theResult)
}
print(matches)
return matches.joinWithSeparator("")
} catch {
return ""
}
你有沒有嘗試調用'escapedPatternForString:'? – matt