正则表达式 - 为什么空括号?

时间:2014-09-02 12:39:44

标签: javascript regex

我有一个正则表达式进行更新,其中有一个空括号。我想知道:目的是什么?我找不到相关的东西。

正则表达式:

(DE)()([0-9]{1,12})

因为,如果没用,我可以删除它。

2 个答案:

答案 0 :(得分:5)

我知道有一个可能的空括号应用程序,即如果您打算使用正则表达式来确定某个字符串是否与子正则表达式的排列匹配。

例如,

^(?:A()|B()|C()){3}\1\2\3$

will match ABC or CBA or BCA but not AAA or BCC etc

但它看起来并不像你的正则表达的作者那样。

答案 1 :(得分:3)

可能(也许只是)其他代码按照数字使用捕获组。

在我看来,我更改了一个正则表达式,更改了括号,因此匹配组也被更改,其余代码停止工作,因为这取决于匹配组的数量。

我建议您在删除括号之前验证是否属于这种情况。