Javascript regexp: replace this or that word (have or not whitespaces between words)
我有一个包含多个单词的字符串。我有一个短语应该换掉。但是,有许多非常相似的短语应该被替换。
以下是应替换(删除)的字符串:
- "狐狸跳过懒狗"
- "狐狸跳过懒猫"
- "狐狸跳过懒猫"
- "狐狸跳向懒猫"(意思是单词之间可能会有空格)
不区分大小写,全局
var str="那只敏捷的棕色狐狸跃过那只懒狗";//结果将是"快速棕色"
str="那只敏捷的棕毛狐狸跳过那只懒狗";//结果将是"快速棕色"
str="那只敏捷的棕色狐狸跳过那只懒猫";//结果将是"快速棕色"
str="那只敏捷的棕色狐狸跃过那只懒猫";//结果将是"快速棕色"
str="懒猫的快速浏览信息";//结果将是"快速棕色"
我的尝试不起作用:
1 2 3 4 5 6 7 8 | let str1 ="The quick brown fox jumpa overthe lazy cat"; let reg = /The\s*quick\s*brown\s*fox\s*jump[s|a]\s*over\s*the\s*lazy [\bcat\b|\bdog\b]/gi; let res = str1.replace(reg,""); console.log(res); //should be empty str1 ="The quickbrownfox jumps overthe lazy cat"; res = str1.replace(reg,""); console.log(res); //should be empty |
您可以使用以下regex:
1 2 3 4 5 6 7 8 | let str1 ="The quick brown fox jumpa overthe lazy cat"; let reg = /The\s*quick\s*brown\s*fox\s*jump(s|a)?\s*over\s*the\s*lazy\s*(cat|dog)/gi; let res = str1.replace(reg,""); console.log(res); //should be empty str1 ="The quickbrownfox jumps overthe lazy cat"; res = str1.replace(reg,""); console.log(res); //should be empty |