在javascript中,如何使用正则表达式匹配字符串中子字符串的多次出现?
我尝试使用在javascript中,如何使用正则表达式匹配字符串中子字符串的多次出现?,javascript,regex,Javascript,Regex,我尝试使用“/bkickstarter/b”,但它无法与如下文本匹配:我支持以下内容: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
“/bkickstarter/b”
,但它无法与如下文本匹配:我支持以下内容: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));
它打印一个空值 remove
/b/b
它将只搜索单独的单词,这里您需要任何包含“kickstarter”的字符串
相反,将
/kickstarter/i
放在不区分大小写的搜索中删除/b/b
它将只搜索单独的单词,这里您需要任何包含“kickstarter”的字符串
相反,将
/kickstarter/i
用于不区分大小写的搜索您可能希望使用\b
而不是b
"I backed this: http://kickstarter.com".match(/\bkickstarter\b/);
如果要匹配正则表达式的所有引用,请添加/g
修饰符
"I backed this: http://kickstarter.com kickstarter".match(/\bkickstarter\b/g);
您可能想使用
\b
而不是b
"I backed this: http://kickstarter.com".match(/\bkickstarter\b/);
如果要匹配正则表达式的所有引用,请添加/g
修饰符
"I backed this: http://kickstarter.com kickstarter".match(/\bkickstarter\b/g);
原因
var regex=new RegExp(“/\bkickstarter\b/g”)代码>不起作用是因为\
在字符串文字语法中作为转义序列的开始具有特殊意义,因此\
最终被删除
要在字符串中使用\
字符,您需要对其进行转义,这意味着它看起来像\
,因此您的最终正则表达式
var regex = new RegExp("/\\bkickstarter\\b/g");
原因var regex=new RegExp(“/\bkickstarter\b/g”)代码>不起作用是因为\
在字符串文字语法中作为转义序列的开始具有特殊意义,因此\
最终被删除
要在字符串中使用\
字符,您需要对其进行转义,这意味着它看起来像\
,因此您的最终正则表达式
var regex = new RegExp("/\\bkickstarter\\b/g");
什么是/b../b
?你是说\b
?你到底想匹配什么?“kickstarter”无论如何只出现一次是什么?你是说\b
?你到底想匹配什么?“kickstarter”无论如何只出现一次更新问题。当我尝试你的方法时,它返回null。@希克,如果你想用new RegExp
初始化,你不需要在开始和结束时使用/
,你需要转义\b
,并且g
应该作为第二个参数传递。因此,newregexp(“\\bkickstarter\\b”,“g”)
将起作用。已更新问题。当我尝试你的方法时,它返回null。@希克,如果你想用new RegExp
初始化,你不需要在开始和结束时使用/
,你需要转义\b
,并且g
应该作为第二个参数传递。因此,newregexp(“\\bkickstarter\\b”,“g”)
将起作用。