我经常看到\1
的2个匹配组案例,例如:
(?)(\w+d+).*\1
Leave Empty
和
(?)(\w+d+).*
\1
在哪些情况下,我可以在搜索时使用\1
,在哪些情况下,我可以在替换时使用\1
?
答案 0 :(得分:1)
?? “你有什么不同”是什么意思?没有区别。两者都引用了第一个捕获组。但是你不要以同样的方式使用它们。
例如:
(\d+)\.\1
表示:“匹配一些数字(\d+)
后跟.
,后跟相同的数字\1
”
示例 123.123
匹配
(\d+)\.
替换为\1
表示:“替换一些数字后跟.
仅包含数字”
示例 123.
已替换为123
答案 1 :(得分:0)
\1
是对第一个捕获组的反向引用,它位于内部正则表达式中。如果您想在替换中添加对捕获组的引用,则必须使用$1
或\1
,具体取决于您使用的正则表达式实现。