以某个字符串开头的单词的正则表达式(javascript)

时间:2009-10-25 22:38:51

标签: javascript regex

我正在尝试在javascript中编写正则表达式,以查找句子中的任何单词是否以特定短语开头。例如,我想知道在下一句中的任何单词的开头是否包含“by”: “Malcolm Gladwell的引爆点。”

我尝试使用\b,但/\bsor/会匹配“玛丽的风琴被打破”之类的句子。即它将标点符号视为单词边界并在它们之后开始匹配。 有什么想法吗?

3 个答案:

答案 0 :(得分:1)

/(?:\ s | ^)bar / - 也许 - 虽然看到首先拆分的答案

/(?:\s|^)bar/.test("bar")     // true
/(?:\s|^)bar/.test("foo bar") // true
/(?:\s|^)bar/.test("foo'bar") // false
/(?:\s|^)bar/.test("Sentence One.bar Two.") // false ... "oops"?

答案 1 :(得分:0)

如何在句子上使用split来尝试表达每个单词?

您也可以使用indexOf而不是正则表达式。

答案 2 :(得分:0)

在Regexpedia上,有一篇文章有​​代码和解释。

JavaScript Search for Lines Beginning with a Word