我需要在HTML标签之间提取单词。因此,我编写了一个函数来提取单词。但是它总是返回空数组。
假设我有一个变量,var txt = Hello, <b>I'm Mag</b> from <b>Hell</b>
。我需要将“ Mag and Hell”提取为数组。
func boldStrings(tag: String) -> [String] {
do {
let pattern = "<[tag][^>]*>(.+?)</[tag]>"
let regex = try NSRegularExpression(pattern: pattern)
let results = regex.matches(in: self,
range: NSRange(self.startIndex..., in: self))
return results.map {
String(self[Range($0.range, in: self)!])
}
} catch let error {
print("invalid regex: \(error.localizedDescription)")
return []
}
}
我在https://www.regextester.com/中检查了正则表达式。但是它选择带有这些标签的单词。我该如何实现?