如何在Android Studio的logcat中过滤多个关键字

46

我想在logcat中只查看几个词,也就是指定标签。我尝试启用 正则表达式 并将 [Encoder | Decoder] 作为过滤器输入,但它不起作用。


5
请尝试使用一个组而不是单个字符类:(编码器|解码器)。请说明它“不能工作”的原因和方式。 - Wiktor Stribiżew
是的!这个方法可行。你想把它作为答案标记吗? ;) - Pitel
3个回答

72

您应该使用一个分组结构:

(Encoder|Decoder)

实际上,你只需要使用

Encoder|Decoder
如果您使用[编码器|解码器],则会创建一个匹配任何单个字符Enc... |D…或r字符类

请参见字符类或字符集

通过“字符类”(也称为“字符集”),您可以告诉正则表达式引擎仅匹配几个字符中的一个。只需在方括号之间放置要匹配的字符即可。如果要匹配ae,请使用[ae]

另一个必读的内容当然是带有垂直线条或管道符号的交替

如果要搜索文字catdog,请使用垂直线条或管道符号将两个选项分开:cat|dog。如果您需要更多选项,请简单地扩展列表:cat|dog|mouse|fish

当使用(...)时,您告诉正则表达式引擎组合字符序列/子模式(对于捕获的子匹配,子匹配存储在内存缓冲区中,并且您可以通过反向引用访问它们,而对于非捕获的(?:...),您仅对子模式进行分组):

通过将正则表达式的一部分放置在圆括号或括号内,您可以将这部分正则表达式分组在一起。这使您可以将量词应用于整个组或将交替限制为正则表达式的一部分。


6
我会尽力进行翻译。您需要翻译的内容是:“我只想补充一点... 标签1|标签2,不要有空格。” - wsgeorge
2
我习惯在操作符之间添加空格,因此在AS中我实际使用了“TAG1|TAG2”,但发现它不起作用。我认为其他人也应该知道避免这个小问题。 - wsgeorge
然后,您应该考虑养成另一个习惯:使用/x空闲空间/VERBOSE/IgnoreWhiteSpace修饰符。 / TAG1 | TAG2 / x将匹配没有空格的TAG1TAG2。此选项在JavaScript中不存在,但在许多NFA正则表达式中存在。 - Wiktor Stribiżew
1
你是对的,我正在删除评论。 - thahgr
1
@RossLlewallyn 你把查询语言操作符和正则表达式的选择“操作符”混淆了。 - Wiktor Stribiżew
显示剩余2条评论

6
新的logcat需要在管道符之间加上空格,例如。
package:mine AuthenticationHelper | identify | migration

0

你可以直接使用 编码器|解码器,并且必须勾选正则表达式复选框。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接