正则表达式匹配特定的单词和单词与重复lettres

时间:2018-01-31 20:51:56

标签: javascript node.js regex

在js(nodejs)中我尝试捕获一个特定的单词,这个单词用重复的字母写...

例如,如果我说世界,我想抓住这个: 世界世界wwooorld世界文化世界

所以我可以通过这样的方式来创造一个动态的regexw:

var w = 'world';
var regex = '';
for(var i = 0; i < w.lengh; i++){
 regex += `${w[i]}+`;
}

但我能用一个独特的正则表达式吗? (或其他原创想法)

2 个答案:

答案 0 :(得分:2)

构建正则表达式的想法是正确的。但是,您需要注意在正则表达式中具有特殊含义的字符不会使问题出错。因此,您可以使用反斜杠转义非字母数字字符:

&#13;
&#13;
var w = "world+hello";
var regex = new RegExp('^' + w.replace(/\W/g, '\\$&+').replace(/\w/g, '$&+') + '$');
console.log(regex, regex.test('wwoooorllldd++++hhelllo'));
&#13;
&#13;
&#13;

答案 1 :(得分:1)

以下模式将匹配&#34; world&#34;

的任何字母重复组合
"w+o+r+l+d+"

+表示捕获前一个字符中的一个或多个。