如何使用RegExp匹配没有任何后续或前一个字符的单词?

时间:2017-01-28 14:31:38

标签: javascript regex

我想创建一个正则表达式

regex = new RegExp(play...);

对于string = "I play games",结果为string.match(regex) = ["play"]
但对于string = "I am playing games",结果为string.match(regex) = null 即它匹配后面跟着空格或后面没有空格的单词。

3 个答案:

答案 0 :(得分:2)

使用单词边界匹配:

\bplay\b

答案 1 :(得分:0)

如果您想匹配“播放”之后出现的任何字词。但是被空格或标点符号等单词边界包围,您可以使用单词boundry matcher \b和工作字符匹配器\w。试试\bplay\w*\b



var string_1 = "I play games"
var string_2 = "I am playing games";
var exp = new RegExp(/\bplay\w*\b/)

console.log(string_1.match(exp));
console.log(string_2.match(exp));




答案 2 :(得分:0)

在要搜索的字词的每一侧添加word boundaries

var test = [
        "I play games",
        "I am playing games"
    ];

console.log(test.map(function (a) {
  re = new RegExp("\\bplay\\b");
  return a.match(re);
}));