Regex-为什么是空括号

Regex - why empty parenthesis?

本文关键字:为什么 Regex-      更新时间:2023-09-26

我有一个regex要更新,里面有一个空括号。我想知道:目的是什么?我找不到什么。

正则表达式:

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

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

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

例如,

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

将匹配ABCCBABCA,但不匹配AAABCC

但这看起来并不是正则表达式的作者想要的。

可能(也只是可能)其他代码根据捕获组的编号使用捕获组。

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

我建议你在删除括号之前先核实一下是否是这种情况。