Regex表示只重复我提供的字符的单词
Regex for a word that repeats only the chars i provide?
好的,所以我想做的是匹配单词,比如"lol"answers"loll"、"llllol"、"llooooollll"answers"loool",而不是"pfftlol"或"lolpft"等。
我当前的代码是
_.each(req.room._settings.automod.cussing.words, function(word)
{
if(req.message.text.match(new RegExp('''b'+word.split('').join('+?')+'''b', 'gi')))
{
if(req.user && req.user.cache.automod.cussing === 0)
{
req.user.cache.automod.cussing = 1;
req.write(req.user.name+", Please refrain from cussing in your messages this is your first and only warning next time you will be deleted.");
req.room.delLastUser(req.user.name, 1);
}
else
{
req.room.delLastUser(req.user.name, 1);
}
}
});
然后是
req.message.text.match(new RegExp('''b'+word.split('').join('+?')+'''b', 'gi'))
也可以说req.room._settings.automod.cussing.words是['olo','hat'],因为我不想列出实际的脏话
并且req.message.text是"哈哈哈哈嘿"
这也是通过一个.each语句或foreach我正在使用NodeJS
现在,只要它与部分匹配,它就会返回单词
有人知道我做错了什么吗?
Ismael Miguel的答案是正确的
/'b(l)+(o)+(l)+'b/
在我的代码中看起来像这样
var reg = '''b('+cuss.split('').join(')+(')+')+''b';
req.message.text.match(new RegExp(reg, 'gi'));
试试这个正则表达式:
/.*'b(l+o+l+)'b.*/
var strings = ["who is lol", "looolll am i", "rofl llllooll", "pfftlol", "lolwho", "anotherlol", "lllllol hehe"];
for(var i = 0; i < strings.length; ++i){
var match = strings[i].match(/.*'b(l+o+l+)'b.*/);
if (match)
document.write( match[0] + "<br>") ;
}
相关文章:
- 用于匹配不带字符的单词的正则表达式
- 如何使用Javascript在给定的句子中找到大写单词并在其前面添加一个字符
- 如何将单词(包括单词)与连字符匹配
- 替换与单词'匹配的文本字符;购物车'替换为img图标
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 获取特殊字符后没有单词的句子
- 将组成单词的字符添加到数组的开头
- 如何防止亚洲字符通过单词换行
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- localeCompare 显示使用前导变音字符对单词进行排序时不一致的行为
- regex,用于修改单词末尾特定大小写的字符
- Javascript RegEx在字符后匹配单词
- 用unicode字符提取字符串中的单词
- 匹配可能具有特殊字符的单词
- 从javascript中的表达式中提取单词或字符
- 编写函数,通过1个字符的JavaScript匹配单词
- 替换字符串中的单词和字符
- 正则表达式,用于从拉丁文中拆分带有重音字符的单词
- 我怎样才能通过使用字符位置来获得单词
- 匹配连字符单词的JavaScript正则表达式