我似乎永远无法在正则表达式上找到任何关于将捕获组作为模式的一部分进行匹配的文档。例如:
(\w\d\w):$1
..应该匹配a4b:a4b
$1
不起作用,但我知道它类似。有人知道吗?
答案 0 :(得分:9)
在正则表达式模式中,对第一个捕获组的反向引用始终为\1
,而不是$1
。
原因:$
表示正则表达式中的“字符串结束”(或行尾,具体取决于上下文)。
在替换模式(不是正则表达式)中,某些方言允许$1
(例如.NET,Java,Perl和JavaScript),有些允许\1
(Python和Ruby),以及一些允许(PHP和JGSoft)。
编辑:既然你写了找不到任何相关文档,请查看regular-expressions.info上的这些概述: