以下是代码:
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
。
我想01000
来自00000
。
但是,我猜,$1
与$11
混淆。
答案 0 :(得分:6)
您可以将捕获组号放在{}
中,以避免对正则表达式引擎造成任何混淆,例如
string mySub = "${1}" + "1" + "$2";
<强> Ideone Demo 强>
正如评论中所建议的那样,您也可以使用
string mySub = "${1}1$2";