0

我尝试使用'/bkickstarter/b'但它无法与这样的文本匹配:I backed this: http://kickstarter.com

更新:

var regex = new RegExp("/\bkickstarter\b/g");
console.log("zach braff's new movie is now being backed on kickstarter: http://www.kickstarter.com/projects/1869987317/wish-i-was-here-1 … also, a documentary on a swartz:  http://www.kickstarter.com/projects/26788492/aaron-swartz-documentary-the-internets-o".match(regex));

那打印一个空值。

4

3 回答 3

3

您可能想使用\bnot b

"I backed this: http://kickstarter.com".match(/\bkickstarter\b/);

如果要匹配所有出现的正则表达式,请添加/g修饰符。

"I backed this: http://kickstarter.com kickstarter".match(/\bkickstarter\b/g);
于 2013-04-25T05:09:29.293 回答
0

原因var regex = new RegExp("/\bkickstarter\b/g");不起作用是因为\在字符串文字语法中作为转义序列的开头具有特殊含义,因此\最终被删除。

\在字符串中使用字符,您需要对其进行转义,这意味着它看起来像\\,所以您的最终正则表达式

var regex = new RegExp("/\\bkickstarter\\b/g");
于 2013-04-25T16:28:47.137 回答
0

remove/b /b它只会搜索单独的单词,在这里你需要任何包含“kickstarter”的字符串。

而是/kickstarter/i用于不区分大小写的搜索

于 2013-04-25T05:08:50.263 回答