javascript - 使用边界时,带有连字符的正则表达式似乎被破坏了?

标签 javascript regex string

我是不是很密集,或者边界似乎破坏了 JavaScript 正则表达式中连字符的匹配?

var string1 = "example words";

/\bexample\b/.test(string1); // true (all good)

var string2 = "-example -words";

/\b-example\b/.test(string2); // false (confusion)

也许我误解了边界行为?

转义连字符似乎也无济于事......

最佳答案

这是因为\b是单词边界,-或连字符已经被认为是非单词字符。您可以改用此正则表达式:

/-example\b/.test('-example -words');
true

关于javascript - 使用边界时,带有连字符的正则表达式似乎被破坏了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23786144/

相关文章:

javascript - 在哪里将我的 mongodb Atlas 连接到我的 React 应用程序?

javascript - DOM 元素引用为空 - 未捕获的类型错误 : Cannot read property 'style' of null

javascript - 正则表达式删除空格和换行符

c# - 在 C# 中,我应该使用 string.Empty 或 String.Empty 或 ""来初始化字符串?

c++ - 将字符串转换为数字类型的通用方法?

javascript - QuerySelectorAll 可以处理动态添加的内容吗?

javascript - 如何使用 setTimeout() 使元素在动画后重新出现

javascript - 如何引用找到的匹配项?

ruby - 如何从 Ruby 中的 URL 中删除多个尾部斜杠

C - 在括号内添加空格