改变正则表达式

时间:2018-04-04 14:51:06

标签: javascript regex

我有以下配置使用正则表达式,基本上它表示处理除ComponentA之外的所有文件。

我需要更改属性regex,以便它可以另外排除ComponentB

如何更改正则表达式?

   {
       regex: /^((?!.*?ComponentA).)*$/
    }

1 个答案:

答案 0 :(得分:1)

您当前的正则表达式:

/^((?!.*?ComponentA).)*$/

断言在匹配每个字符之前,ComponentA不存在。换句话说,它为每个字符执行此断言,因此对于更大的字符串,它将执行非常慢的速度。

最好将此更改为一次断言:

/^(?!.*ComponentA).*$/

由于您还想禁用ComponentB,所以只需在负前瞻表达式中使用替换:

/^(?!.*(?:ComponentA|ComponentB)).+$/