替换号码令人困惑

时间:2016-07-31 03:15:19

标签: c# regex

以下是代码:

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混淆。

1 个答案:

答案 0 :(得分:6)

您可以将捕获组号放在{}中,以避免对正则表达式引擎造成任何混淆,例如

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

<强> Ideone Demo

正如评论中所建议的那样,您也可以使用

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