替换编号令人困惑

本文关键字:编号 替换 | 更新日期: 2023-09-27 17:59:17

以下是代码:

string myVar = "00000";
string myPtrn = "(.).(...)";
string mySub = "$1" + "1" + "$2";
string myResult = Regex.Replace(myVar, myPtrn, mySub);
MessageBox.Show("Before :'t" + myVar + "'nAfter :'t" + myResult);

结果是$11000

我想要0000001000

但是,我想$1$11是混淆的。

替换编号令人困惑

您可以将捕获组号放在{}中,以避免像这样的正则表达式引擎出现任何混乱

string mySub = "${1}" + "1" + "$2";

Ideone演示

正如评论中所建议的,你也可以使用

string mySub = "${1}1$2";