第7课:从日志文件中提取信息

在这个例子中,我们将使用来自 Android adb 调试会话的真实输出。你的目标是,运用之前学到的各种正则表达式技巧,从堆栈跟踪的行中提取出文件名(filename)、方法名(method name)和行号(line number)。

这些堆栈跟踪的格式如下:at package.class.methodname(filename:linenumber)

练习 7: 从日志文件中提取信息
Task Text Capture Groups  
跳过 W/dalvikvm( 1553): threadid=1: uncaught exception To be completed
跳过 E/( 1553): FATAL EXCEPTION: main To be completed
跳过 E/( 1553): java.lang.StringIndexOutOfBoundsException To be completed
捕获 E/( 1553): at widget.List.makeView(ListView.java:1727) makeView ListView.java 1727 To be completed
捕获 E/( 1553): at widget.List.fillDown(ListView.java:652) fillDown ListView.java 652 To be completed
捕获 E/( 1553): at widget.List.fillFrom(ListView.java:709) fillFrom ListView.java 709 To be completed
提示

可以使用正则表达式 (\w+)\(([\w\.]+):(\d+)\) 来提取方法名、文件名和行号。这个表达式的第一个捕获组是方法名,后面跟着一个转义的左括号,然后是文件名(第二个捕获组),再跟一个冒号,最后是行号(第三个捕获组),并以右括号结束。

解决上面的问题以继续到, 或者可以参考答案