- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
使用 this link我能够使用正则表达式 (?!dalvikvm\b)\b\w+
创建一个过滤器来过滤带有标签 dalvikvm
的消息,但我尝试了几种变体的正则表达式,例如 (?!dalvikvm-heap\b)\b\w+
, (?!dalvikvm\\-heap\b)\b\w+
, (?!dalvikvm[-]heap\b)\b\w+
,还有很多其他的,我似乎无法摆脱 dalvikvm-heap
消息。理想情况下,我想过滤它们,但我还没有弄清楚那部分。
任何帮助将不胜感激。
最佳答案
在标签字段中使用 ^(?!dalvikvm)
。这将只显示标签不以“dalvikvm”开头的消息。
以下是有关其工作原理的说明;如果您不感兴趣,可以跳过它们。首先,您必须记住这个问题,“这个字符串是否与正则表达式匹配?”真正的意思是,“这个字符串中是否有正则表达式匹配的位置?”
(?!x)
否定断言的棘手之处在于,它们匹配字符串的下一部分与 x
不匹配的任何地方:但对于每个放在字符串“dalvikvm”中,除了开头。您链接到的博客文章在末尾添加了一个 \b
,以便表达式仅在“dalvikvm”之前的位置匹配,并且是单词边界。但这仍然会匹配,因为字符串的结尾是单词边界,并且后面没有“dalvikvm”。所以博文后面加了\w+
,意思是在词的边界后面还要有更多的词字符。
它确实适用于这种情况,但制作正则表达式的方式有点奇怪,而且评估成本相对较高。正如您所注意到的,您无法将其调整为 (?!dalvikvm-heap\b)\b\w+
。 “-”是一个非单词字符,所以紧随其后是单词边界,后面是单词字符,而不是“dalvikvm-heap”,所以正则表达式在该点匹配。
相反,我使用 ^
,它只匹配字符串的开头,以及否定断言。总体而言,正则表达式仅在字符串的开头匹配,并且只有在字符串的开头没有跟随“dalvikvm”时才匹配。这意味着它不会匹配“dalvikvm”或“dalvikvm-heap”。评估也更便宜,因为正则表达式引擎知道它只能在开始时匹配。
以这种方式制作正则表达式,您可以通过将它们放在一起来过滤掉多个标签。例如,^(?!dalvikvm)(?!IInputConnectionWrapper)
将过滤掉以“dalvikvm”或“IInputConnectionWrapper”开头的标签,因为字符串的开头不必跟第一个并且不要紧跟第二个。
顺便说一句,感谢您的链接。我没有意识到你可以这样使用 logcat 过滤器,所以如果没有它,我就不会想出我的答案。
关于android - 什么正则表达式可用于从 logcat 中过滤掉 dalvikvm 和 dalvikvm-heap 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14630253/
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 4 年前。 Improve
我在终端中使用“adb -d logcat”来查看我的应用程序日志文件。最近,我遇到了一大堆运行时错误——由于某种原因我看不到所有这些错误。它只是在结尾处以“...30 more”结束: [ 08-1
我的 Logcat 停止与我的“开发者设备”Huawei Y5 一起工作。 我使用完全更新的 Android 3.5.1,直到两天前一切正常,现在突然我的应用程序日志不再显示了。 logcat 显示以
我使用 Eclipse 开发应用程序。当我转到 eclipse 的菜单窗口-> 显示 View -> 其他时,我发现两个项目名为“LogCat”和“LogCat(deprecated)”。 LogCa
我在我的应用程序中使用 Timber 和 DebugTree。我想将所有消息记录到 Firebase 崩溃报告中。 Timber.plant(object : Timber.DebugTree()
在 Moto G 上开发我的应用程序时,我经常遇到数以万计的以下消息淹没日志。 E/MM_OSAL ( 275): isSamePayload Sync byte(0x47) not found!!
在注意到 Android Studio 中没有显示 Logcat 消息后,我尝试了所有解决方案,但都没有奏效。我最终尝试了命令 adb devices 并确定我的设备在那里,但是当我尝试 adb lo
来自命令:C:\android-sdk-windows\platform-tools>adb shell 然后是 logcat -b radio 它打印旧的历史日志。我试着像这样调用 logcat -
我每15分钟就会遇到“blank logcat”或“logcat bug”的问题,随意告诉它! 我知道以下解决方案可以解决此问题: 进入 DDMS 并选择我的设备 => 80% 的情况下,logcat
请原谅我没有以完整尺寸显示 Logcat(到目前为止,我使用的是 RAM 和图形内存有限的 VM)。 每次启动 Eclipse 时,Logcat 都会像这样显示所有这些信息列(红色圆圈)。 现在,我想
我正在尝试运行 react-native log-android 来测试在我的 react-native 手机应用程序上上传谷歌照片。我得到错误 warn The following packages
对于 Android 应用程序,我将日志保存在设备本身上,以便在出现问题时我们可以找出问题所在。此设备在无互联网环境中运行,因此无法远程写入日志。 下面的代码首先清除缓冲区,然后将记录的内容连续写入“
显示 LogCat 几分钟后消失。我从 Window->Preferences->Logcat 中将 LogCat 输出消息的数量更改为 10000。但在读取整个堆栈之前仍然消失。知道为什么会发生这种
我有一些与 Android Logcat 相关的问题,我将这些问题称为 REAL DEVICE 而不是模拟器: 我有一个程序有很多 Log.d (或其他类似的日志功能),我做了一些谷歌搜索,发现这些日
我收到很多与我的应用程序相关的此类 logcat 消息。 2019-03-13 10:05:51.065 27319-27319/com.example.fir_s1 I/chatty: uid=10
我正在对一个奇怪的错误进行故障排除,当不良行为发生时,我在 logcat 中看到了这一点。 --------- beginning of system 这是什么意思?我没有找到任何 nativ
我想通过 APPIUM 获取特定标签(例如:testing_aws)的 ADB logcats。实际上我是直接从控制台完成此操作的,如下所示 我导航至 /home/jagadeesh/android-
我刚刚开始使用 android,正在制作一个 webview 应用程序 我的整个计划是显示启动屏幕,直到 webview 加载,然后切换某些内容的可见性,然后使 webview 可见 WebView
我刚刚在运行 Mountain Lion 的 Mac 上安装了 Eclipse 3.8。我打开了 LogCat 窗口并点击最小化,它去了某个地方...... 现在当我点击 Window>Show Vi
我使用 Parse 作为我的应用程序的后端,并且我使用了他们的 quick start guide设置推送通知。 我已经一步一步地跟着它了,没有得到插入。当我启动应用程序时,我还在 logcat 中收
我是一名优秀的程序员,十分优秀!