Javascript 正则表达式仅匹配整个单词,仅由空格绑定(bind)

标签 javascript regex

所以我知道\bBlah\b 会匹配整个 Blah,但它也会匹配“Blah.jpg”中的 Blah,我不想这样。我只想匹配两边都有空格的整个单词。

最佳答案

你可以试试:\sBlah\s

或者,如果您允许开始和结束 anchor ,(^|\s)Blah(\s|$)

这将匹配 "Blah" 本身,或 "Blah and Blah"

中的每个 Blah

另见


前瞻变体

如果你想匹配 "Blah Blah" 中的两个 Blah,那么由于一个空格在两次出现之间是“共享的”,你必须使用断言。像这样的东西:

(^|\s)Blah(?=\s|$)

另见


仅捕获Blah

上面的正则表达式也会匹配前导空格。

如果您只想要 Blah,理想情况下,lookbehind 会很好:

(?<=^|\s)Blah(?=\s|$)

但由于 Javascript 不支持它,您可以改写:

(?:^|\s)(Blah)(?=\s|$)

现在 Blah 将被捕获到 \1 中,没有前导空格。

另见

关于Javascript 正则表达式仅匹配整个单词,仅由空格绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2951915/

相关文章:

javascript - .htaccess:FilterProvider问题

javascript - WebRTC 网络摄像头约束不适应设备方向

javascript - 在这种情况下,有什么替代方法可以替代 eval() 呢?还有其他选择吗?

javascript - 无法使用innerHTML导入javascript代码

java - 在 Java 中尝试使用正则表达式提取 XMLNS

regex - 带有连字符,单引号和单个空格的正则表达式字母数字超时(崩溃)

javascript - 在输入文本 html 中显示格式

c# - 正则表达式 - 获取所有未用 "/"包裹的单词

regex - 如何用通用的方式在 perl 中编写正则表达式

javascript - 将文本文件输入的信息解析为 JSON 格式