假设我正在寻找单词 hello
,我会使用以下正则表达式:
/\bhello\b/
当然,这效果很好。但我真正需要匹配的是@hello
。我一直无法想出一个正则表达式来实现这一点。我发现的最接近的是:
/[@]hello\b/
接近但不完美。
问题是它也匹配像“x@hello”这样的东西。我无法正确定义左边界。
最佳答案
为此,您可以在 @
之前使用 \B
:
/\B@hello\b/
\B
断言 \b
不匹配的位置。
编辑:如果要求仅在前面有空格或行开头时匹配@hello
,则使用:
(?<=\s|^)@hello\b
关于regex - 需要一个正则表达式来匹配以@符号开头的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32509651/