我试图使用正则表达式获取title的值。这个正则表达式有什么问题。比赛即将来临。
let strToCheck = "<title>youtube \n </title>"
let rgx = "<title(.*?)>(.*?)</title>"
let rx = try NSRegularExpression(pattern: rgx, options: [.caseInsensitive])
if let match = rx.firstMatch(in: strToCheck, options: [], range:
NSMakeRange(0, string.characters.count)) {
}
答案 0 :(得分:5)
最初的问题是因为你没有逃脱/
,这会使你的正则表达式中断。您需要在斜杠之前添加\
,如下所示:
<title(.*?)>(.*?)<\/title>
正如Wiktor Stribiżew在下面的评论中解释的那样,Swift不需要逃避斜线我更新了正则表达式以匹配新的行情况如下:
<title(.*?)>(?s).*?</title>
注意:在演示中,/
有一个转义字符,但Swift不需要它