我尝试使用'/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));
打印出一个null。
答案 0 :(得分:3)
您可能希望使用\b
而不是b
。
"I backed this: http://kickstarter.com".match(/\bkickstarter\b/);
如果要匹配所有出现的正则表达式,请添加/g
修饰符。
"I backed this: http://kickstarter.com kickstarter".match(/\bkickstarter\b/g);
答案 1 :(得分:0)
删除/b /b
它只搜索单独的单词,在这里你需要任何包含'kickstarter'的字符串。
而是将/kickstarter/i
放入不区分大小写的搜索
答案 2 :(得分:0)
var regex = new RegExp("/\bkickstarter\b/g");
不起作用的原因是因为\
在字符串文字语法中作为转义序列的开头具有特殊含义,因此\
最终会被删除。 / p>
要在字符串中使用\
字符,您需要将其转义,这意味着它看起来像\\
,因此您的最终正则表达式
var regex = new RegExp("/\\bkickstarter\\b/g");