beast
火狐狸
火狐狸
  • UID48534
  • 注册日期2015-01-10
  • 最后登录2017-09-17
  • 发帖数166
  • 经验150枚
  • 威望0点
  • 贡献值90点
  • 好评度0点
  • 社区居民
阅读:1746回复:13

求教过滤规则的写法

楼主#
更多 发布于:2015-10-13 21:03
如何过滤严格匹配game字段的url地址?
是^game$
还是$game^
类似这种|http://*gamexyz123.jpg不能误伤
我主要想过滤所有网页游戏。
文科
千年狐狸
千年狐狸
  • UID39959
  • 注册日期2013-10-17
  • 最后登录2019-07-27
  • 发帖数2069
  • 经验1328枚
  • 威望4点
  • 贡献值340点
  • 好评度255点
  • 最爱沙发
  • 社区居民
  • 忠实会员
1楼#
发布于:2015-10-13 21:23
|*game*
这样吧
给http://*gamexyz123.jpg加上白名单
@@|http://*gamexyz123.jpg
beast
火狐狸
火狐狸
  • UID48534
  • 注册日期2015-01-10
  • 最后登录2017-09-17
  • 发帖数166
  • 经验150枚
  • 威望0点
  • 贡献值90点
  • 好评度0点
  • 社区居民
2楼#
发布于:2015-10-13 21:43
文科:|*game*
这样吧
给http://*gamexyz123.jpg加上白名单
@@|http://*gamexyz123.jpg
回到原帖
 但经过https://arestwo.org/famlam/redundantRuleChecker.html这个在线工具查找,有警告
文科
千年狐狸
千年狐狸
  • UID39959
  • 注册日期2013-10-17
  • 最后登录2019-07-27
  • 发帖数2069
  • 经验1328枚
  • 威望4点
  • 贡献值340点
  • 好评度255点
  • 最爱沙发
  • 社区居民
  • 忠实会员
3楼#
发布于:2015-10-13 21:46
beast:但经过https://arestwo.org/famlam/redundantRuleChecker.html这个在线工具查找,有警告回到原帖
正常,这类大范围的通配都会有警告,你可以不用
beast
火狐狸
火狐狸
  • UID48534
  • 注册日期2015-01-10
  • 最后登录2017-09-17
  • 发帖数166
  • 经验150枚
  • 威望0点
  • 贡献值90点
  • 好评度0点
  • 社区居民
4楼#
发布于:2015-10-13 21:52
文科:正常,这类大范围的通配都会有警告,你可以不用回到原帖
谢谢你的热心。你已经帮我好几次了。
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2019-12-14
  • 发帖数18383
  • 经验4732枚
  • 威望5点
  • 贡献值4292点
  • 好评度1066点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
5楼#
发布于:2015-10-13 22:00
不足八个字符的都是慢速规则,对性能有影响,建议使用更精确的规则。
Firefox More than meets your experience
infinity
狐狸大王
狐狸大王
  • UID48261
  • 注册日期2014-12-18
  • 最后登录2019-12-14
  • 发帖数334
  • 经验332枚
  • 威望0点
  • 贡献值88点
  • 好评度32点
  • 社区居民
  • 忠实会员
6楼#
发布于:2015-10-14 08:27
^$是正则规则中用的代表首尾的符号,不过$也经常用来加上屏蔽的类型,比如$image,^也被用来当分隔符
你想要的规则可以这么写*game*$~image
可以看看这个官方文档:撰写 Adblock Plus 过滤规则-https://adblockplus.org/zh_CN/filters
infinity
狐狸大王
狐狸大王
  • UID48261
  • 注册日期2014-12-18
  • 最后登录2019-12-14
  • 发帖数334
  • 经验332枚
  • 威望0点
  • 贡献值88点
  • 好评度32点
  • 社区居民
  • 忠实会员
7楼#
发布于:2015-10-14 08:32
fang5566:不足八个字符的都是慢速规则,对性能有影响,建议使用更精确的规则。回到原帖
但是字符数越少不是应该匹配得越快吗?为何还会提示影响性能?
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2019-12-14
  • 发帖数18383
  • 经验4732枚
  • 威望5点
  • 贡献值4292点
  • 好评度1066点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
8楼#
发布于:2015-10-14 08:46
infinity:但是字符数越少不是应该匹配得越快吗?为何还会提示影响性能?回到原帖
字符越少,ABP 要在浩瀚的规则列表里面搜索的越费劲。极端的例子就是就一个字母c,你认为在 easylist 20000多条里面匹配你想要的那个网址很容易吗?
Firefox More than meets your experience
beast
火狐狸
火狐狸
  • UID48534
  • 注册日期2015-01-10
  • 最后登录2017-09-17
  • 发帖数166
  • 经验150枚
  • 威望0点
  • 贡献值90点
  • 好评度0点
  • 社区居民
9楼#
发布于:2015-10-14 14:45
怎么无法上传附件?

我手动从easylist,easyprivacy,Fanboy's Annoyance List剪切了专门匹配GFVVlist的过滤规则。不再需要加载庞大的easylist,easyprivacy,Fanboy's Annoyance List。
有没有人想要?
beast
火狐狸
火狐狸
  • UID48534
  • 注册日期2015-01-10
  • 最后登录2017-09-17
  • 发帖数166
  • 经验150枚
  • 威望0点
  • 贡献值90点
  • 好评度0点
  • 社区居民
10楼#
发布于:2015-10-14 14:51
fang5566:字符越少,ABP 要在浩瀚的规则列表里面搜索的越费劲。极端的例子就是就一个字母c,你认为在 easylist 20000多条里面匹配你想要的那个网址很容易吗?回到原帖
按我的猜想,快速规则是用二分法匹配的,慢速规则是逐条匹配的。可能是应为慢速规则太短,无法编组。
dindog
千年狐狸
千年狐狸
  • UID30818
  • 注册日期2009-10-24
  • 最后登录2016-12-05
  • 发帖数1180
  • 经验38枚
  • 威望0点
  • 贡献值4点
  • 好评度8点
11楼#
发布于:2015-10-14 15:21
fang5566:不足八个字符的都是慢速规则,对性能有影响,建议使用更精确的规则。回到原帖
不足8字改了4年了。现在是3字以上
以前firefox跳个票的时间现在可以发布几个正式版了-_-
dindog
千年狐狸
千年狐狸
  • UID30818
  • 注册日期2009-10-24
  • 最后登录2016-12-05
  • 发帖数1180
  • 经验38枚
  • 威望0点
  • 贡献值4点
  • 好评度8点
12楼#
发布于:2015-10-14 15:30
下面仅限abp,其它过滤算法很可能不一样。

首先,过滤最终都是用正则来匹配的。正则多达几千个的时候,效率可能会比较低。

想想一个门户网站一页就有过百个元素,就是几千*几百次匹配,每打开一个页面都有几十万次匹配,厉害吧,abp用了小技巧

/abc/vxyz.jpg 这个规则,会提取 abc vxyz jpg 三个关键字。

假设请求URL www.xxx.com/yyy/zz.jpg 会提取出 www xxx com yyy jpg这几个关键字,然后先看看规则表里面的关键字有没有出现,这个比较是通过hashmap,速度很快,只有关键字匹配上了,才会用对应的正则去尝试匹配。

所以,理论上,唯一的关键字》长的关键字》短的关键字》没用的关键字(www,http,com之类)》没有关键字
原因是越长,越少重复。hashmap对应关键字下的正则越少。要提取关键字,在于字符串前后要被【/ ?# : .】这个符号截断(就是abp语法里的^号),只要规则不存在一个能提取的关键字,那都是慢规则。

1楼你说想匹配所有网页游戏这个太模糊了。很难展开实际讨论



****************************************************************************************************
随着js引擎的发展,上面说的几十万次匹配也许不是那么慢了。。。我们常用的PAC,就是js引擎匹配。FF4时slimx的测试就表明几千条规则纯正则autoproxy pac也不慢多少,现在估计更快了
以前firefox跳个票的时间现在可以发布几个正式版了-_-
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2019-12-14
  • 发帖数18383
  • 经验4732枚
  • 威望5点
  • 贡献值4292点
  • 好评度1066点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
13楼#
发布于:2015-10-16 14:09
beast:怎么无法上传附件?

我手动从easylist,easyprivacy,Fanboy's Annoyance List剪切了专门匹配GFVVlist的过滤规则。不再需要加载庞大的easylist,easyprivacy,Fanboy's...
回到原帖
啥意思?弄到github,做一个绝对路径,方便订阅
Firefox More than meets your experience
游客

返回顶部