如何在 Android Studio logcat 中过滤多个单词
Posted
技术标签:
【中文标题】如何在 Android Studio logcat 中过滤多个单词【英文标题】:How to filter multiple words in Android Studio logcat 【发布时间】:2016-01-13 15:10:37 【问题描述】:我只想在 logcat 中看到几个单词。换句话说,只是一个给定的标签。我尝试启用 Regex 并输入 [Encoder|Decoder]
作为过滤器,但它不起作用。
【问题讨论】:
尝试使用组,而不是单个字符类:(Encoder|Decoder)
。请说明它“不起作用”的内容和方式。
是的!这行得通。你不想让它成为我可以标记为解决方案的答案吗? ;)
【参考方案1】:
您应该使用 分组 构造:
(Encoder|Decoder)
其实你可以用
Encoder|Decoder
如果您使用[Encoder|Decoder]
,则会创建匹配任何单个字符E
、n
、c
...|
、D
..的字符类。 . 或r
.
见Character Classes or Character Sets:
使用“字符类”,也称为“字符集”,您可以告诉正则表达式引擎只匹配几个字符中的一个。只需将要匹配的字符放在方括号之间。如果要匹配
a
或e
,请使用[ae]
。
另一个必读当然是Alternation with The Vertical Bar or Pipe Symbol:
如果要搜索文字文本
cat
或dog
,请用竖线或竖线符号分隔两个选项:cat|dog
。如果您需要更多选项,只需展开列表:cat|dog|mouse|fish
。
使用(...)
时,您告诉正则表达式引擎对字符/子模式的序列进行分组(捕获时,子匹配存储在内存缓冲区中,您可以通过反向引用访问它们,并使用非捕获(?:...)
你只对子模式进行分组):
通过将正则表达式的一部分放在圆括号或圆括号内,您可以将正则表达式的这一部分组合在一起。这允许您将quantifier 应用于整个组或将alternation 限制为正则表达式的一部分。
【讨论】:
我只是添加.. TAG1|TAG2 没有空格。 @wsgeorge:我不明白你的意思。看,我已经写了其实你可以用Encoder|Decoder
——不一样吗?此外,如果您确实有一个文字 TAG
后跟任何数字,则无需交替,请使用 TAG\d+
:)
我有在运算符之间添加空格的习惯,所以我在AS中按字面使用了“TAG1 | TAG2”,发现它不起作用。我只是认为其他人应该知道避免这个小问题。
那么,你应该考虑养成另一个习惯:使用/x
freespace/VERBOSE/IgnoreWhiteSpace 修饰符。 / TAG1 | TAG2 /x
将匹配 TAG1
或 TAG2
且没有空格。此选项在 javascript 中不存在,但在许多 NFA 正则表达式中存在。
你说得对,我要删除评论以上是关于如何在 Android Studio logcat 中过滤多个单词的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android Studio 中每次运行之前自动清除 logcat 输出?
如何在 Android Studio logcat 中过滤多个单词