regex - 需要一个正则表达式来匹配以@符号开头的单词

标签 regex

假设我正在寻找单词 hello,我会使用以下正则表达式:

/\bhello\b/

当然,这效果很好。但我真正需要匹配的是@hello。我一直无法想出一个正则表达式来实现这一点。我发现的最接近的是:

/[@]hello\b/

接近但不完美。

问题是它也匹配像“x@hello”这样的东西。我无法正确定义左边界。

最佳答案

为此,您可以在 @ 之前使用 \B:

/\B@hello\b/

RegEx Demo

\B 断言 \b 不匹配的位置。


编辑:如果要求仅在前面有空格或行开头时匹配@hello,则使用:

(?<=\s|^)@hello\b

关于regex - 需要一个正则表达式来匹配以@符号开头的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32509651/

相关文章:

Javascript 正则表达式 - 将 * 与多个字符一起使用

python - 正则表达式\Z(?ms)

regex - 使用 postgres regexp_replace 将字符串列表替换为始终相同的字符串

javascript - 删除第一个和最后一个反斜杠?

java - 想要将一个字符串的模式替换为使用找到的模式中的信息的字符串?

python简单的正则表达式帮助

python - 正则表达式中的返回组与字符串匹配

javascript - 在逗号中替换后跟javascript中的双引号

regex - 口径搜索和替换

regex - 以逗号分隔行,仅当引号之间不包含逗号时