sui*_*koy 56 regex networking google-chrome google-chrome-devtools
不幸的是,在最新版本的Chrome中,负面网络过滤器不再起作用了.我使用此过滤器来排除包含特定字符串的每个http调用.我在Chrome开发工具论坛中问过一个解决方案,但目前没有人回答.
所以我想知道是否有办法解决这个问题(并排除例如包含字符串'loadMess'的每个调用)与regex语法.
非常感谢
Gid*_*zer 95
更新(2018年):
这是对我的旧答案的更新,以澄清这两个错误已经修复了一段时间了.
否定或排除过滤现在正如预期的那样工作.这意味着您可以使用my.com/path(显示请求与此匹配)来过滤请求路径,或者-my.com/path(显示请求与此不匹配).
在我的PR修复程序投入生产后,正则表达式解决方案也可以运行.这意味着您也可以使用/my.com.path/和过滤/^((?!my.com/path).)*$/,这将获得相同的结果.
我在这里留下了旧答案以供参考,它也解释了否定查找解决方案.
预定义的负面过滤器可以正常工作,但目前它不允许您NOT仅对Chrome中的名称进行过滤CONTAINS.这是Chrome Canary中修复的错误.
将更改推送到Chrome稳定版后,您应该能够loadMess仅对该名称-loadMess进行过滤,并过滤掉该名称并保留其余名称,如前所述.
^((?!YOUR_STRING).)*$
Run Code Online (Sandbox Code Playgroud)
^((?!loadMess).)*$
Run Code Online (Sandbox Code Playgroud)
^ - 字符串开头
(?!loadMess) - 否定前瞻(在此光标处,与下一位不匹配,未捕获)
. - 匹配任何字符(换行符除外)
()* - 前一组中的0或更多
$ - 字符串结束我发现DevTools在网络面板中如何处理Regex实际上存在一个错误.这意味着上面的解决方法不起作用,尽管它是有效的.
"网络"面板过滤了"名称"和"路径"(从源代码中发现),但它执行了两个OR运算的测试.在上面的例子中,如果你有loadMess名字,但没有在路径(例如不是域或目录),它将匹配任何一个.澄清true || false === true一下,这意味着只有loadMess在名称和路径中找到它时才会过滤掉它.
我在Chromium中创建了一个问题,并随后推出了一个修复程序进行审核.这随后被合并了.
| 归档时间: |
|
| 查看次数: |
16044 次 |
| 最近记录: |