匹配除两个特定字符串之外的任何字符串

Matching anything except two specific strings

本文关键字:字符串 任何 两个      更新时间:2023-09-26

我正在尝试为JavaScript编写一个RegEx表达式,它可以匹配除两个特定字符串之外的任何内容。

我不想匹配的两件事是"{{"answers"{:",正是这两件事。

我写道:

/^(?!{{|{:).*$/

然而,将此表达式插入regex101中会导致根本没有匹配。我哪里错了?为了得到这个表达,我花了几个小时在网上浏览资源,但我似乎不明白为什么它不起作用。

作为参考,目标字符串为:

{: say|x|Hi{{{x}}}} :}

如果正确解释问题,您可以将.replace()RegExp /{:|{{2}/g 一起使用

var str = "{: say|x|Hi{{{x}}}} :}";
var res = str.replace(/{:|{{2}/g,"");
console.log(res);

您可以使用

^.*({{|{:).*$

使用JavaScript中的否定条件(if(语句。

匹配两个括号之间的所有内容:'{(.*?)'}$

匹配{:和:}'{:(.*?)':} 之间的所有内容

代码的修改版本(在一个引擎中工作,在另一个引擎不工作!(:((?!{{|{:).)+

相关文章: