Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 从重复组生成反向引用_Regex - Fatal编程技术网

Regex 从重复组生成反向引用

Regex 从重复组生成反向引用,regex,Regex,有没有办法从组中检索反向引用?在我上面的表达式中,无引用(?:)是否阻止整个组捕获反向引用 尝试匹配,例如: /hello/how/are/you…/今天,捕获“/”之间的所有值 有没有办法从组中检索反向引用 对。不在层次结构中解释组。例如,(a(b))只有两个组,一个和两个,可以(向后)引用。就引用而言,它等于(a)(b)。引用的顺序仅由regex模式中的组顺序(由组的开头决定)决定。一个群体是另一个群体的一部分这一事实并不能改变这一事实 在我上面的表达式中,无引用(?:)是否阻止整个组捕获反

有没有办法从组中检索反向引用?在我上面的表达式中,无引用(?:)是否阻止整个组捕获反向引用

尝试匹配,例如: /hello/how/are/you…/今天,捕获“/”之间的所有值

有没有办法从组中检索反向引用

对。不在层次结构中解释组。例如,
(a(b))
只有两个组,一个和两个,可以(向后)引用。就引用而言,它等于
(a)(b)
。引用的顺序仅由regex模式中的组顺序(由组的开头决定)决定。一个群体是另一个群体的一部分这一事实并不能改变这一事实

在我上面的表达式中,无引用(?:)是否阻止整个组捕获反向引用


否。它仅阻止标记为非捕获组的组捕获(返回)引用。嵌套组不受影响,除非它们也被标记为非捕获组,否则将被捕获。

\w
不必被
[
]
包围。我很确定在
?=
(经过适当的修改)之前应该有一个左括号。我添加了\w只是为了更容易阅读。编辑以使阅读更容易。最快的解决方案是将“/”黑耳翻一番。请原谅我的愚蠢,但你是什么意思?我也在考虑\G\/(\w+)但我甚至不确定\G是否得到了很好的支持。我只花了几个月的时间来标记这一点,但没有找到答案。正则表达式的例子往往很弱,所以每当我遇到复杂的事情时,要么是一堆测试,要么是堆栈溢出。
(?:\/(\w+?=\/)\/(\w+))*