mikylu
小狐狸
小狐狸
  • UID10360
  • 注册日期2005-12-06
  • 最后登录2009-11-30
  • 发帖数10
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:3601回复:10

adblock正则表达式求助

楼主#
更多 发布于:2005-12-07 12:22
现在在adblock正则表达式中设置一条

/(\.3721|allyes|bbs9|ads?union|cnzz|itsun|265|fenteng|dobig|caiyear|narrowad\.)/

是想屏蔽 \3721\之类的广告

但是我浏览tianya.cn的时候,发现下面的这个地址也被屏蔽了。。

http://img.tianyablog.com/photo/2005/12 ... 335579.jpg

用正则表达式的练习器测试,却发现我的正则表达式没有问题

是adblock的bug还是什么原因呢?

郁闷ing
lococo
火狐狸
火狐狸
  • UID2458
  • 注册日期2005-01-23
  • 最后登录2016-04-07
  • 发帖数100
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2005-12-07 12:22
mikylu:现在在adblock正则表达式中设置一条

/(\.3721|allyes|bbs9|ads?union|cnzz|itsun|265|fenteng|dobig|caiyear|narrowad\.)/

http://img.tianyablog.com/photo/2005/12/6/1126592_335579.jpg

回到原帖

正则表达式的过滤广了
注意红色的标记
建议修改为
/(\.)(3721|allyes|bbs9|ads?union|cnzz|itsun|265|fenteng|dobig|caiyear|narrowad)(\.)/
redbolshevik
小狐狸
小狐狸
  • UID8677
  • 注册日期2005-09-17
  • 最后登录2005-12-30
  • 发帖数3
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2005-12-07 12:22
adblock的语法在哪里去学习啊
mikylu
小狐狸
小狐狸
  • UID10360
  • 注册日期2005-12-06
  • 最后登录2009-11-30
  • 发帖数10
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2005-12-07 12:22
汗,刚学习正则表达式,还没怎么会用,谢谢2楼的

楼上的,你可以在论坛上搜索正则表达式,很多资料的:)
mikylu
小狐狸
小狐狸
  • UID10360
  • 注册日期2005-12-06
  • 最后登录2009-11-30
  • 发帖数10
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
4楼#
发布于:2005-12-07 12:22
继续请教:)

/(\.3721|allyes|bbs9|ads?union|cnzz|itsun|265|fenteng|dobig|caiyear|narrowad\.)/

/(\.)(3721|allyes|bbs9|ads?union|cnzz|itsun|265|fenteng|dobig|caiyear|narrowad)(\.)/
区别到底在哪里,为什么会把“.”给忽略不计了呢?

谢谢
lococo
火狐狸
火狐狸
  • UID2458
  • 注册日期2005-01-23
  • 最后登录2016-04-07
  • 发帖数100
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2005-12-07 12:22
继续请教:)
/(\.3721|allyes|narrowad\.)/

/(\.)(3721|allyes|narrowad)(\.)/
区别到底在哪里,为什么会把“.”给忽略不计了呢?
谢谢


|是并列,是(|之间及||之间及|)之间内容的并列
所以应从(3721这样,3721才会和allyes并列
如果是(\.3721那么就是.3721和allyes并弄。

也就是说:
上面过滤的是.3721、allyes和narrowad.
下面过滤的是.3721.、.allyes.和.narrowad.

呵呵,但愿我表达清楚了。
Amelia
火狐狸
火狐狸
  • UID2093
  • 注册日期2005-01-12
  • 最后登录2022-02-19
  • 发帖数234
  • 经验14枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
6楼#
发布于:2005-12-07 12:22
正则表达式的过滤广了
注意红色的标记
建议修改为
/(\.)(3721|allyes|bbs9|ads?union|cnzz|itsun|265|fenteng|dobig|caiyear|narrowad)(\.)/

这里还可以去掉两对括号,改为:
/\.(3721|allyes|bbs9|ads?union|cnzz|itsun|265|fenteng|dobig|caiyear|narrowad)\./

因为\.实际上是一个"."字符,所以它的外面并不需要加括号。
evio
火狐狸
火狐狸
  • UID8790
  • 注册日期2005-09-23
  • 最后登录2009-11-06
  • 发帖数274
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
7楼#
发布于:2005-12-07 12:22
建议加个更全面的外套
(\.|\/)(3721|allyes|bbs9|ads?union|cnzz|itsun|265|fenteng|dobig|caiyear|narrowad)(\.|\/|_)
mikylu
小狐狸
小狐狸
  • UID10360
  • 注册日期2005-12-06
  • 最后登录2009-11-30
  • 发帖数10
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
8楼#
发布于:2005-12-07 12:22
lococo

|是并列,是(|之间及||之间及|)之间内容的并列
所以应从(3721这样,3721才会和allyes并列
如果是(\.3721那么就是.3721和allyes并弄。

也就是说:
上面过滤的是.3721、allyes和narrowad.
下面过滤的是.3721.、.allyes.和.narrowad.

呵呵,但愿我表达清楚了。
回到原帖


非常感谢,我阅读了一篇错的教材,那上面说adblock的正则表达式是以/(开始)/结束的:(
mikylu
小狐狸
小狐狸
  • UID10360
  • 注册日期2005-12-06
  • 最后登录2009-11-30
  • 发帖数10
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
9楼#
发布于:2005-12-07 12:22
evio:建议加个更全面的外套
(\.|\/)(3721|allyes|bbs9|ads?union|cnzz|itsun|265|fenteng|dobig|caiyear|narrowad)(\.|\/|_)
回到原帖


谢谢,刚开始学习,考虑的还不够充分:(
lococo
火狐狸
火狐狸
  • UID2458
  • 注册日期2005-01-23
  • 最后登录2016-04-07
  • 发帖数100
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
10楼#
发布于:2005-12-07 12:22
evio:建议加个更全面的外套
(\.|\/)(3721|allyes|bbs9|ads?union|cnzz|itsun|265|fenteng|dobig|caiyear|narrowad)(\.|\/|_)
回到原帖


是以/开始 以/结束的
我也喜欢用这样的(\.|\/)做开头和结尾
所以单个符号也喜欢加(),提醒自己并列的范围。
游客

返回顶部