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

时间:2016-10-20 03:32:44

标签: javascript regex

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

我不想匹配的两件事是“{{”和“{:”,正是那些。

我写道:

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

但是,将此表达式插入regex101会产生 no 匹配。我哪里错了?我花了好几个小时倾注在线资源只是为了得到这个表达,我似乎无法弄清楚它为什么不起作用。

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

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

3 个答案:

答案 0 :(得分:0)

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

匹配{:and:} \{:(.*?)\:}

之间的所有内容

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

答案 1 :(得分:0)

如果正确解释问题,您可以RegExp使用/{:|{{2}/g var str = "{: say|x|Hi{{{x}}}} :}"; var res = str.replace(/{:|{{2}/g,""); console.log(res);



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




答案 2 :(得分:0)

您可以使用

if

在JavaScript中使用否定条件({{1}})语句。