我正在尝试在VB.NET中使用regex.replace函数,我想要排除任何带有@符号的单词。目前,我使用的模式是“/ b”&术语和“/ b”(其中Term是我要替换的任何单词)。
感谢。
答案 0 :(得分:2)
你可以试试这个:
\b(?<!@)[^@\s]+(?!@)\b
解释
[^@\s]+
这将排除任何包含&#39; @&#39;内或只是的单词
在它之后。以^开头的字符类[^]表示否定字符类中的任何内容。因此,^ inside []并不意味着字符串的开头。\b
包括@作为边界值。
因此,您需要确保\b
并不认为@为a
边界。因此引入了前瞻和后视
这里。\b(?<!@)
确保字边界,但不是@ (?!@)\b
确保单词有效但不是@