我想创建一个正则表达式
regex = new RegExp(play...);
对于string = "I play games"
,结果为string.match(regex) = ["play"]
,
但对于string = "I am playing games"
,结果为string.match(regex) = null
即它匹配后面跟着空格或后面没有空格的单词。
答案 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);
}));