【发布时间】:2017-08-24 18:39:38
【问题描述】:
如何修改以下字符串操作以在下面的 HTML 代码中查找“要提取的文本”?我不明白"(?<=')[^']+" 我知道这是一个正则表达式模式,我查看了一个网站,但我不明白它的逻辑......也许如果有人告诉我我的问题的方式,我可以更好地理解。 .
if let match = dataString?.range(of: "(?<=')[^']+", options: .regularExpression) {
print(dataString?.substring(with: match) as Any)
HTML 代码:
<span class="phrase">Text to Extract</span></span></span></p>
【问题讨论】:
-
不要使用正则表达式解析 HTML:stackoverflow.com/a/1732454/8332700
-
简单来说,就是匹配一个或多个不是
'的字符的模式,前面是'。但正如@Verv 所说,不要使用正则表达式来解析 HTML。而是在这里尝试解决方案:stackoverflow.com/questions/31080818/… -
对不起,我忘了提到 html 已被下载并编码为 UTF8 字符串.. 可以吗?
-
你可以使用
NSAttributedString:stackoverflow.com/questions/23757655/…