我需要一个正则表达式来替换所有的实例:
Session["ANYWORD"] ==
带
Session["ANYWORD"].ToString() ==
我有Session\["\w+"]\s==
,正确找到正确匹配,但我不知道如何将.ToString()
插入到匹配中。
什么,或者更合适的是, 有一个正则表达式来做我需要做的事情?
答案 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。