Regex 用数字替换捕获组
在visualstudio的find和replace中,我试图用p或Q后跟2来替换(p | Q)1。P1和P2,Q1和Q2。然而,Regex 用数字替换捕获组,regex,visual-studio,Regex,Visual Studio,在visualstudio的find和replace中,我试图用p或Q后跟2来替换(p | Q)1。P1和P2,Q1和Q2。然而,$12似乎在寻找捕获组12,所以它只是字面上显示为$12。我放在1和2之间的任何字符,包括反斜杠,都会显示出来。可以这样做吗?您可以安全地使用 ([PQ])1 并替换为${1}2(因为组ID周围的{}使ID明确),即使在VS2012中也是如此 如果您不确定编号的反向引用发生了什么,则始终可以使用命名捕获: (?<val>[PQ])1 (?[PQ])1
$12
似乎在寻找捕获组12,所以它只是字面上显示为$12
。我放在1和2之间的任何字符,包括反斜杠,都会显示出来。可以这样做吗?您可以安全地使用
([PQ])1
并替换为${1}2
(因为组ID周围的{}
使ID明确),即使在VS2012中也是如此
如果您不确定编号的反向引用发生了什么,则始终可以使用命名捕获:
(?<val>[PQ])1
(?[PQ])1
并替换为${val}2
使用
${1}2
,应该可以在VS2013+@Lucastrezesniewski上使用,谢谢,这是答案,但是你的正则表达式最好写为\b([PQ])1\b
(如果这些是完整的单词)或者只是([PQ])1
。