Regex Chrome开发工具:有没有办法排除URL与正则表达式匹配的请求?
不幸的是,在Chrome的最新版本中,负面网络过滤器不再工作。我使用这个过滤器是为了排除每个包含特定字符串的http调用。我在Chrome开发工具论坛上提出了一个解决方案,但目前没有人回答 因此,我想知道是否有办法用正则表达式语法解决这个问题(例如排除每个包含字符串'loadMess'的调用)。Update(2018): 这是对我的旧答案的更新,以澄清这两个bug已经修复了一段时间Regex Chrome开发工具:有没有办法排除URL与正则表达式匹配的请求?,regex,google-chrome,networking,google-chrome-devtools,Regex,Google Chrome,Networking,Google Chrome Devtools,不幸的是,在Chrome的最新版本中,负面网络过滤器不再工作。我使用这个过滤器是为了排除每个包含特定字符串的http调用。我在Chrome开发工具论坛上提出了一个解决方案,但目前没有人回答 因此,我想知道是否有办法用正则表达式语法解决这个问题(例如排除每个包含字符串'loadMess'的调用)。Update(2018): 这是对我的旧答案的更新,以澄清这两个bug已经修复了一段时间 否定或排除筛选正在按预期工作。这意味着您可以使用my.com/path(显示与此匹配的请求)或-my.com/pa
my.com/path
(显示与此匹配的请求)或-my.com/path
(显示与此不匹配的请求)筛选请求路径/my.com.path/
和/^((?!my.com/path)。*$/
进行筛选,这将获得相同的结果预定义的负过滤器确实可以工作,但它目前不允许您对Chrome stable中的名称进行
而不是过滤器,只有包含。这是一个已经被固定在铬金丝雀
将更改推送到Chrome stable后,您应该能够执行loadMess
仅过滤该名称,以及-loadMess
过滤掉该名称并保留其余名称,就像以前一样
解决方法:用于匹配不包含字符串的字符串的正则表达式
例子:
说明:
^
-字符串的开头
(?!loadMess)
-负前瞻(在该光标处,不匹配下一位,不捕获)
-匹配任何字符(换行符除外)
()*
-0个或多个前一组
$
-字符串结尾
更新(2016年):
我发现DevTools在网络面板中处理Regex的方式实际上存在一个bug。这意味着,尽管上述解决方案有效,但它不起作用
网络面板根据名称和路径(从源代码中发现)进行过滤,但它会执行两个或“ed”的测试。在上述情况下,如果名称中有loadMess
,但路径中没有(例如,不是域或目录),则它将在其中任何一个上匹配。要澄清的是,true | false==true
,这意味着只有在名称和路径中都找到它时,它才会过滤掉loadMess
我已经在Chromium中创建了一个问题,并随后推动对一个问题进行审查。这一点后来得到了改进。Chrome broswer开发工具
对regrex过滤器的支持不是很好。
当我想隐藏一些请求时,它不会像上面所示那样工作。但是您可以使用-hide1
-hide2
隐藏所需的请求。
只需在条件之间留一个空格,这与regrex不匹配,我猜原则上它可能使用除regrex之外的字符串匹配
例如:如果我想排除所有gif,只需键入-gif
在最新的chrome版本(62)上,您必须使用:
-mime-type:image/gif
到处都建议使用负前瞻,但它不起作用
相反,“-myregex”确实对我有用。像这样:-/(违例| HMR)/
真正完整的解释,但它不起作用。。。这里有一个例子:。我有Chrome版本52.0.2743.82(64位)@suikoy我花了一个小时尝试了所有的东西,但不明白为什么失败了。我用JavaScript进行了测试,对我来说效果很好。DevTools中使用的正则表达式解析器可能有一些不可靠的地方。我会继续调查的。同时,我想只使用Chrome Canary。@suikoy我在源代码中发现了这个问题!我要研究修好它。如果我能设置好东西并提出拉拽请求,那就太酷了。我会通知你的@HussienK已在中修复。编辑:消极前瞻不起作用,-stringToAvoid
似乎起作用,我将在2019年7月开始使用它,这对我来说适用于简单的string。这可能是目前唯一正确的答案。
^((?!loadMess).)*$
-mime-type:image/gif