我正在编辑一些C#代码,需要将nameof(somevar)等表达式更改为“somevar”。是否可以使用正则表达式?
以下是一个更好的例子:
是)我有的:
throw new ArgumentException(nameof(outputFilePath));
我需要的:
throw new ArgumentException("outputFilePath");
替换正则表达式:
nameof\(([^)]*)\)
通过:
"\1"
这应该这样做:
string s = "nameof(abc)";
Regex r = new Regex("nameof\\((.+?)\\)");
string output = r.Replace(s, "\"$1\"");
\(
搜索左括号(.+?)
创建了一个组(即$1
),它搜索任何一个或多个char(.
)(+
),懒洋洋地(?
)\)
搜索右括号