使用正则表达式查找方法名称

时间:2013-04-06 21:59:42

标签: regex

给定.NET程序生成的堆栈跟踪,如何提取堆栈跟踪中出现的所有方法名称。

例如:

未处理的异常:System.NotImplementedException:未实现方法或操作。    在WindowsApplication1.Program.Baz()    在WindowsApplication1.Program.Foo()    在WindowsApplication1.Program.Bar()    在WindowsApplication1.Program.Main()

输出应为:

WindowsApplication1.Program.Baz WindowsApplication1.Program.Foo WindowsApplication1.Program.Bar WindowsApplication1.Program.Main

3 个答案:

答案 0 :(得分:1)

以下内容将匹配()

后面的任何非空格字符序列
\S+(?=\(\))

答案 1 :(得分:1)

[\w.]+(?=\(\))

使用这个正则表达式应该做你想要的完美

答案 2 :(得分:-1)

使用此正则表达式:(?<name>[\w|\.|=|`]+)(?=\()

每个堆栈帧,它将匹配每行中第一个括号之前出现的所有字符