用数字搜索和替换 RegEx 捕获组

abe*_*nky 5 regex visual-studio capture-group

我正在尝试使用 Visual Studio 编辑器正则表达式来查找和替换使用捕获组的文本,但遇到了问题。

我正在尝试查找并捕获一组 5 个字母数字:

(\w{5})
Run Code Online (Sandbox Code Playgroud)

并搜索替换该组以在其后附加“1”:

$11
Run Code Online (Sandbox Code Playgroud)

这里我的意思是$1 捕获的组+1 要附加的文本

例子:

 227TW ==> 227TW1
 1053X ==> 1053X1
Run Code Online (Sandbox Code Playgroud)

但是,它显然解释$11为“捕获组十一”。

我怎样才能正确地让搜索/替换理解它$1并且1是单独的元素?

我尝试过的事情,失败了:

$1(1)  : 227TW ==> 227TW(1)
$1\1   : 227TW ==> 227TW\1
$1 1   : 227TW ==> 227TW 1
$1^1   : 227TW ==> 227TW^1
($1)1  : 227TW ==> (227TW)1
Run Code Online (Sandbox Code Playgroud)

abe*_*nky 6

原来正确的答案是:

${1}1
Run Code Online (Sandbox Code Playgroud)

数字周围的花括号标识捕获组,而不会将其与下一个数字混淆。

  • 很好的答案!实际上我想建议采取逐步方法,例如首先替换为“$1##1##”或您在输入中找不到的任何字符串,然后将“##1##”替换为“1” (2认同)