正则表达式在stacktraces中解析完全限定的Java名称

时间:2013-02-24 07:01:10

标签: java regex stack-trace

我为以下字符串编写了这个正则表达式(at)(\\s)(\\w.+)(\\(\\w.+)(\\))

at sun.reflect.NativeMethodAccessorImpl.invoke0(Method.java:585)

但它不起作用。你可以帮我改写一下正确的。

2 个答案:

答案 0 :(得分:1)

这个正则表达式应该可以解决问题(demo):

at (.*)\.(.*)\(([^:]*):?([\d]*)\)

将返回组1中的package.class,组2中的方法,组3中的文件名和组4中的最终行号。

答案 1 :(得分:0)

你需要像\.一样逃避这些时期。 \w也匹配单个字符,而不是整个单词。尝试这样的事情:

at\s(\w+\.)+\(\w+\.\w+:\d+\)