<strong>Lorem Ipsum.<\/strong> Lorem Ipsum. [link-to:shop-page \"instore-pickup\"]Learn More[\/link-to]
给定上面的示例字符串(它包括 HTML),它是我从第 3 方服务获得的,并且我无法控制改进或规范化它以适应 HTML 标准。
我需要以某种方式解析这部分[link-to:shop-page \"instore-pickup\"]Learn More[\/link-to]
得到Learn More
value.
我试过了\\[.*?\\](.*?)\\[.*?\\]
正则表达式,但它不能满足我的需要。
得到[link-to:shop-page \"instore-pickup\"]Learn More[/link-to]
因此。
func matches(for regex: String, in text: String) -> [String] {
do {
let regex = try NSRegularExpression(pattern: regex)
let nsString = text as NSString
let results = regex.matches(in: text, range: NSRange(location: 0, length: nsString.length))
return results.map { nsString.substring(with: $0.range)}
} catch let error {
print("invalid regex: \(error.localizedDescription)")
return []
}
}
Wiktor,感谢您指出这一点,工作片段:
func matches(for regex: String, in text: String) -> [String] {
do {
let regex = try NSRegularExpression(pattern: regex)
let nsString = text as NSString
let results = regex.matches(in: text, range: NSRange(location: 0, length: nsString.length))
return results.map { nsString.substring(with: $0.range(at: 1))}
} catch let error {
print("invalid regex: \(error.localizedDescription)")
return []
}
}
$0.range(at: 1)
给出第 1 组。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)