我一直在做一些简单的消息传递系统的工作,该系统在文本中查找Twitter句柄并在遇到命中时采取行动。
使用JavaScript,很容易......来自this discussion /(^|[^@\w])@(\w{1,15})\b/g
RegEx非常适合识别有效的Twitter句柄。
对于斯威夫特,我正在撞墙。我甚至无法创建上面提到的正则表达式。当我尝试:
var = "/(^|[^@\w])@(\w{1,15})\b/g"
我收到Invalid escape sequence in literal
错误。
如果我将w
和b
上的反斜杠加倍(例如/(^|[^@\\w])@(\\w{1,15})\\b/g
,那么错误就会消失,但显然会改变正则表达式。
我看过Ray Wenderlich的this great tutorial,但我仍然不明白我需要做些什么才能摆脱我所得到的错误。 \w
和\b
似乎都是有效的运营商。
有人能把我解雇吗?
答案 0 :(得分:2)
你不能像在JavaScript中那样使用两端的/
分隔符,删除它们,也使用双重转义:
var = "(^|[^@\\w])@(\\w{1,15})\\b"