将字符串插入查找和替换匹配项的正则表达式是什么?

时间:2015-06-09 16:02:56

标签: c# regex replace

我需要一个正则表达式来替换所有的实例:

Session["ANYWORD"] ==

Session["ANYWORD"].ToString() ==

我有Session\["\w+"]\s==,正确找到正确匹配,但我不知道如何将.ToString()插入到匹配中。

什么,或者更合适的是, 有一个正则表达式来做我需要做的事情?

1 个答案:

答案 0 :(得分:2)

您需要将方括号之间的值放入捕获组,并将其替换为替换。

简而言之,这样做:

Regex.Replace(input, @"Session\[(""\w+"")]\s==", @"Session[$1].ToString() ==");

其中$1将插入第一个捕获组的内容(由模式中的括号确定 - > ())。

如果您愿意,也可以使用命名组,然后它变为:

Regex.Replace(input, @"Session\[(?<anyword>""\w+"")]\s==", @"Session[${anyword}].ToString() ==");

Here is the MSDN doc针对Regex.Replace的特定重载。

有关.NET中捕获组替换的更多信息,请look here