Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我创建了这个正则表达式来匹配字符串中所有以“@”开头的单词,@ 标记之前也可能有一些东西。它工作得很好,但它也可以捕获电子邮件地址,我想解决这个问题。
(?<=@)\w+\b
示例字符串为:
你好@bob,你好吗?@mark、@emma 和 @chief 和我在一起。给我发电子邮件 test@email.com!
你能帮我吗?
您可以使用下一个表达式:
\B@\w+
它从非单词边界( \B) 开始。您也可以使用负前瞻来重写它,如下所示:
\B
(?!\b)@\w+
测试@前面的空格
我的建议是这样的。
[\s]?\B@\w+
我已经在 RAD Software 的 Regex Designer 中对其进行了测试,它匹配每个以 @ 开头的单词。前面有或没有空格。
希望这有帮助;)