C# 减少正则表达式步数

C# 减少正则表达式步数,c#,regex,performance,C#,Regex,Performance,目前,我正试图构建一个(C#-)正则表达式来重命名C#-源文件中的变量。它应该避免DllImports,避免重命名字符串内容,并避免重命名包含要替换的名称的变量(例如,在“Test”要替换时不替换“anotherTest”)。 Regex可以工作,但它真的很慢。RegexBuddy告诉我调试这个输入需要411个步骤(是的,我知道这是完全愚蠢的代码,但这是为了测试): [DllImport(“user32.dll”)][return:…]公共外部内部测试() “测试” “测试 testProces

目前,我正试图构建一个(C#-)正则表达式来重命名C#-源文件中的变量。它应该避免DllImports,避免重命名字符串内容,并避免重命名包含要替换的名称的变量(例如,在“Test”要替换时不替换“anotherTest”)。 Regex可以工作,但它真的很慢。RegexBuddy告诉我调试这个输入需要411个步骤(是的,我知道这是完全愚蠢的代码,但这是为了测试):

[DllImport(“user32.dll”)][return:…]公共外部内部测试()

“测试”

“测试

testProcess.StartInfo.Arguments=(start+\“\”\“\”+test+“\”)

由于我是新加入Regex的,我不知道在哪里可以改进它…我希望有人能帮助我

下面是(C#-)正则表达式本身:

(?<!\[DllImport\(.*\)\]\s*\r\n(|\[return\:.*\]\s*\r\n).*)(?((?<![\"\'][^+=]*))|(?![^+=]*[\"\']))(?<![\w_]+?)test(?![\w_]+?)

(?你不能使用IDE提供的重构功能吗?在这种情况下,毫无疑问不能。