【发布时间】:2014-05-20 15:40:39
【问题描述】:
我正在尝试为各种文本格式的 logcat 日志编写一个 wireshark 解析器。
为此,我需要检测我正在阅读的 logcat 类型,然后提取出值得尊敬的部分。我认为使用正则表达式可以解决问题,但显然它没有。
这是我的正则表达式:
[IVDWE]/.*\(\s*[0-9]*\):\s.*
因为它应该是 Perl 兼容的,所以我从命令行使用 Perl 进行了尝试,它似乎可以工作。然而,当加载一行时,例如。
I/bdAddrLoader( 184): option : f=/persist/bluetooth/.bdaddr
使用g_regex_match_simple,表达式与左圆括号不匹配。我尝试用 1-4 \ 转义它,但没有成功。
编辑:
原来我试过\、'\`和\\\\版本,但不知怎的错过了\\...
【问题讨论】:
-
不确定
g_regex_match_simple的分隔符如何工作..但是,如果他们使用常见的/分隔符,那么您将需要使用\/转义/。 -
尝试先用
g_regex_new编译正则表达式。 -
@Sam:在我写这部分之前,直到打开圆括号 (
[IVDWE]/.*) 工作正常。问题从大括号开口开始...... -
有趣,抱歉我帮不上忙——没有任何 Android 正则表达式经验。