Regex 交替捕获

Regex 交替捕获,regex,Regex,我知道,即使捕获括号内的子表达式位于不匹配的可选部分中,它们也会计入反向引用编号中,但当它们位于替换的分支中时又会怎样呢?(亚当)|(夏娃)会把亚当交给亚当还是夏娃交给夏娃,或者亚当或夏娃交给夏娃 所有捕获圆括号仍然从左到右计数,还是这两个括号在编号中作为一个计数?如果是这样,当你在选择中有不同数量的捕获,比如(上帝)|(亚当)和(夏娃),会发生什么 我想捕获一个包含“”、“”或不包含任何内容的值,这就是我所拥有的: (['"])(.*?)\1|([^'"]+) 反向引用计算括号的数量,而不管

我知道,即使捕获括号内的子表达式位于不匹配的可选部分中,它们也会计入反向引用编号中,但当它们位于替换的分支中时又会怎样呢?(亚当)|(夏娃)会把亚当交给亚当还是夏娃交给夏娃,或者亚当或夏娃交给夏娃

所有捕获圆括号仍然从左到右计数,还是这两个括号在编号中作为一个计数?如果是这样,当你在选择中有不同数量的捕获,比如(上帝)|(亚当)和(夏娃),会发生什么

我想捕获一个包含“”、“”或不包含任何内容的值,这就是我所拥有的:

(['"])(.*?)\1|([^'"]+)

反向引用计算括号的数量,而不管有多少括号已匹配

因此,在<法典>(上帝)|(亚当)和(夏娃):

\1-“上帝”或空
\2-“亚当”或空
\3-“夏娃”还是空的

请看这里: