EricXP
千年狐狸
千年狐狸
  • UID5182
  • 注册日期2005-04-17
  • 最后登录2010-12-27
  • 发帖数1027
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:6932回复:17

关于正则表达式中白名单的问题,懂的进来帮帮小弟

楼主#
更多 发布于:2005-04-23 18:04
我在Adblock过滤列表中添加了/(\.|\/) (tomnews|dns99|ad|banner|3721|taobao|unionsky)(s)?(\d)*(\.|\/|_)/语句,能过滤很多广告,但我在访问前程无忧时,由于他们的弹出窗口是这样的
http://ad.51job.com/phpAD/adtrace.php?ID=3537578  ,里面含有“ad”,所以被FF过滤掉了,请问怎么把类似这样的弹出窗口给列入白名单啊?小弟调了半天还是调不好
╮( ̄▽ ̄")╭

- Adblock Plus 1.1.3
- Adblock Plus: Element Hiding Helper 1.0.6
- Add to Search Bar 2.0
- All-In-One Gestures 0.20.1
- All-In-One Sidebar 0.7.11
- Easy DragToGo 1.1.2.2
- AutoProxy 0.3b4.0+.2009110800
- Coral IE Tab 1.83.20100316
- Easy DragToGo 1.1.2.4
- Favicon Picker 3 0.5
- FlashGot 1.2.1.17
- Gmail Notifier 0.6.4.1
- Greasemonkey 0.8.20100211.5
- IDM CC 6.9.1
- Menu Editor 1.2.6
- Organize Status Bar 0.6.4
- ScrapBook 1.3.6
- Tab Mix Plus 0.3.8.2
- TinEye Reverse Image Search 0.7.1
- WangWang Protocol Handler 3.6

欢迎访问我的Blogger
http://ericxp1984.spaces.live.com/
chapiom
小狐狸
小狐狸
  • UID2440
  • 注册日期2005-01-22
  • 最后登录2011-12-06
  • 发帖数63
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2005-04-23 18:04
(tomnews|dns99|ad|banner|3721|taobao|unionsky)
后面加(^ad\.51job\.com)
如果是ff本身的屏蔽,在网页特性里加白名单
txican
狐狸大王
狐狸大王
  • UID5335
  • 注册日期2005-04-21
  • 最后登录2011-12-22
  • 发帖数310
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2005-04-23 18:04
楼上的真的正确吗?
EricXP
千年狐狸
千年狐狸
  • UID5182
  • 注册日期2005-04-17
  • 最后登录2010-12-27
  • 发帖数1027
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2005-04-23 18:04
谢谢二楼的兄弟回复我,但两种方法都试过了,没有成功。我现在只好把|ad|给去掉了,以后再用别的特定过滤语句过滤各网站不同的ad吧。但我还是想学好正则表达式的白名单,但参考资料太少了,就期望Adblock能快升级加入白名单这个功能了,呵呵。
╮( ̄▽ ̄")╭

- Adblock Plus 1.1.3
- Adblock Plus: Element Hiding Helper 1.0.6
- Add to Search Bar 2.0
- All-In-One Gestures 0.20.1
- All-In-One Sidebar 0.7.11
- Easy DragToGo 1.1.2.2
- AutoProxy 0.3b4.0+.2009110800
- Coral IE Tab 1.83.20100316
- Easy DragToGo 1.1.2.4
- Favicon Picker 3 0.5
- FlashGot 1.2.1.17
- Gmail Notifier 0.6.4.1
- Greasemonkey 0.8.20100211.5
- IDM CC 6.9.1
- Menu Editor 1.2.6
- Organize Status Bar 0.6.4
- ScrapBook 1.3.6
- Tab Mix Plus 0.3.8.2
- TinEye Reverse Image Search 0.7.1
- WangWang Protocol Handler 3.6

欢迎访问我的Blogger
http://ericxp1984.spaces.live.com/
vital
火狐狸
火狐狸
  • UID4782
  • 注册日期2005-04-06
  • 最后登录2014-09-28
  • 发帖数147
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
4楼#
发布于:2005-04-23 18:04
我怎么在IE中也看不到弹出窗口啊
Equinox
小狐狸
小狐狸
  • UID5115
  • 注册日期2005-04-15
  • 最后登录2007-04-09
  • 发帖数54
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2005-04-23 18:04
呵呵,我们51job都是把企业的招聘信息当作广告的,就靠这个赚钱^^

我们的主页用Firefox是不能正常浏览的,没办法啊,用的是很早以前国外的程序,没法改了.
EricXP
千年狐狸
千年狐狸
  • UID5182
  • 注册日期2005-04-17
  • 最后登录2010-12-27
  • 发帖数1027
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
6楼#
发布于:2005-04-23 18:04
不是啊,如果不加|ad|的话是能正常浏览的,而且我把你们的所有广告全虑掉了,不知道你们老总看了会不会气吐血,呵呵。
╮( ̄▽ ̄")╭

- Adblock Plus 1.1.3
- Adblock Plus: Element Hiding Helper 1.0.6
- Add to Search Bar 2.0
- All-In-One Gestures 0.20.1
- All-In-One Sidebar 0.7.11
- Easy DragToGo 1.1.2.2
- AutoProxy 0.3b4.0+.2009110800
- Coral IE Tab 1.83.20100316
- Easy DragToGo 1.1.2.4
- Favicon Picker 3 0.5
- FlashGot 1.2.1.17
- Gmail Notifier 0.6.4.1
- Greasemonkey 0.8.20100211.5
- IDM CC 6.9.1
- Menu Editor 1.2.6
- Organize Status Bar 0.6.4
- ScrapBook 1.3.6
- Tab Mix Plus 0.3.8.2
- TinEye Reverse Image Search 0.7.1
- WangWang Protocol Handler 3.6

欢迎访问我的Blogger
http://ericxp1984.spaces.live.com/
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
7楼#
发布于:2005-04-23 18:04
EricXP:我在Adblock过滤列表中添加了/(\.|\/) (tomnews|dns99|ad|banner|3721|taobao|unionsky)(s)?(\d)*(\.|\/|_)/语句,能过滤很多广告,但我在访问前程无忧时,由于他们的弹出窗口是这样的
http://ad.51job.com/phpAD/adtrace.php?ID=3537578  ,里面含有“ad”,所以被FF过滤掉了,请问怎么把类似这样的弹出窗口给列入白名单啊?小弟调了半天还是调不好
回到原帖


楼主好像是看了我的adblock的文章吧那个filter是我写的,关于白名单,
正则表达式里面有一个negative look ahead可以实现,表达式是?!
例如关于chinaren校友录我的一条filter:
/images\d*\.sohu\.com\/(?!(cs\/sms\/alumni3\/images)|(product\/alumni3))/
指的是过滤所有含有images(可以有一个数字).sohu.com的链接,
但是保留
images.sohu.com/cs/sms/alumni3/images
以及    images.sohu.com/product/alumni3
里面的内容

关于你的问题,我去实践一下再写出解决办法
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
8楼#
发布于:2005-04-23 18:04
楼主你的表达式这样修改即可:(\.|\/)(tomnews|dns99|(ad\/(?!(51job\.com)))|banner|3721|taobao|unionsky)(s)?(\d)*(\.|\/|_)
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
EricXP
千年狐狸
千年狐狸
  • UID5182
  • 注册日期2005-04-17
  • 最后登录2010-12-27
  • 发帖数1027
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
9楼#
发布于:2005-04-23 18:04
kmc大哥,你的置顶的文章我都不知道拜读过多少次啦,真的学到了很多东西呐,我现在已经基本能自己编表达式,一条正则表达式过滤一个网站的广告了,太爽了。编正则表达式是一件很好玩很有趣也很有成就感的事,但我估计很少有人真正愿意去学它,都嫌麻烦,唉。
你这条|(ad\/(?!(51job\.com)))|语句管用呢,太好了,这下我可以鱼和熊掌兼得了,哈哈。其实我看到你帖子里的“?!”这个符号了,但不知道是这样用的,所以试了没成功,现在我会使用它的方法了。
另外请教大哥一个问题,过滤后缀名是用(.*\.(gif|jpg|swf))好呢还是用(.*\..*)直接呢?我怕直接用通配符*会增加机器读表达式的负担,增加CPU的工作量,请问是这样吗?
╮( ̄▽ ̄")╭

- Adblock Plus 1.1.3
- Adblock Plus: Element Hiding Helper 1.0.6
- Add to Search Bar 2.0
- All-In-One Gestures 0.20.1
- All-In-One Sidebar 0.7.11
- Easy DragToGo 1.1.2.2
- AutoProxy 0.3b4.0+.2009110800
- Coral IE Tab 1.83.20100316
- Easy DragToGo 1.1.2.4
- Favicon Picker 3 0.5
- FlashGot 1.2.1.17
- Gmail Notifier 0.6.4.1
- Greasemonkey 0.8.20100211.5
- IDM CC 6.9.1
- Menu Editor 1.2.6
- Organize Status Bar 0.6.4
- ScrapBook 1.3.6
- Tab Mix Plus 0.3.8.2
- TinEye Reverse Image Search 0.7.1
- WangWang Protocol Handler 3.6

欢迎访问我的Blogger
http://ericxp1984.spaces.live.com/
EricXP
千年狐狸
千年狐狸
  • UID5182
  • 注册日期2005-04-17
  • 最后登录2010-12-27
  • 发帖数1027
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
10楼#
发布于:2005-04-23 18:04
晕,kmc大哥,用了你改的语句,前程无忧是能上了,但好像含有ad的广告又不能浏览了,比如这个广告http://www.mypda.com.cn/images/ad/adbanner_tomPDA.gif
还能被看到,而添加|ad|就不能看到而前程无忧又访问不了了,晕,呵呵。
╮( ̄▽ ̄")╭

- Adblock Plus 1.1.3
- Adblock Plus: Element Hiding Helper 1.0.6
- Add to Search Bar 2.0
- All-In-One Gestures 0.20.1
- All-In-One Sidebar 0.7.11
- Easy DragToGo 1.1.2.2
- AutoProxy 0.3b4.0+.2009110800
- Coral IE Tab 1.83.20100316
- Easy DragToGo 1.1.2.4
- Favicon Picker 3 0.5
- FlashGot 1.2.1.17
- Gmail Notifier 0.6.4.1
- Greasemonkey 0.8.20100211.5
- IDM CC 6.9.1
- Menu Editor 1.2.6
- Organize Status Bar 0.6.4
- ScrapBook 1.3.6
- Tab Mix Plus 0.3.8.2
- TinEye Reverse Image Search 0.7.1
- WangWang Protocol Handler 3.6

欢迎访问我的Blogger
http://ericxp1984.spaces.live.com/
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
11楼#
发布于:2005-04-23 18:04
EricXP:kmc大哥,你的置顶的文章我都不知道拜读过多少次啦,真的学到了很多东西呐,我现在已经基本能自己编表达式,一条正则表达式过滤一个网站的广告了,太爽了。编正则表达式是一件很好玩很有趣也很有成就感的事,但我估计很少有人真正愿意去学它,都嫌麻烦,唉。
你这条|(ad\/(?!(51job\.com)))|语句管用呢,太好了,这下我可以鱼和熊掌兼得了,哈哈。其实我看到你帖子里的“?!”这个符号了,但不知道是这样用的,所以试了没成功,现在我会使用它的方法了。
另外请教大哥一个问题,过滤后缀名是用(.*\.(gif|jpg|swf))好呢还是用(.*\..*)直接呢?我怕直接用通配符*会增加机器读表达式的负担,增加CPU的工作量,请问是这样吗?
回到原帖

确实,编写正则表达式是一件很有意思的事情,只有喜欢的人才会真的有耐心编,
比如说我,虽然根本还不会作网页,adBlock却很有耐心研究。
我那条表达式写错了,而且其实我对定向排除(negative look ahead)这一块也是浅尝辄止了,其实应该把"\/"放到?!的括号里面
(\.|\/)(tomnews|dns99|(ad(?!(\/51job\.com)))|banner|3721|taobao|unionsky)(s)?(\d)*(\.|\/|_)
而不是外面,因为后面有(\.|\/|_)这么一堆,包含了"\/"的,如果放到外面,则
重复了,没有那个网站会有型如ad//的形式,换言之
adblock就根本找不到,从而有关ad的就什么也不过滤了。

此外正则表达式里面的*号和普通表达式里面的*号表达的不是一个意思,
普通表达式里面,*号表示任意字符,任意个数
例:
http://www.3333333.com/*

可以过滤http://www.3333333.com/a.gif
http://www.3333333.com/1/1/1.jpg
等等
正则表达式里面,*号表示控制前面字符出现的次数(0次或多次)
相对来说是很有限的,因为正则表达式严谨得多,所以随意性相对很低
例:
www\.3333333\.com\/a*\.gif

只能过滤
http://www.3333333.com/a.gif
http://www.3333333.com/aa.gif
http://www.3333333.com/aaa.gif

http://www.3333333.com/.gif(因为可以是0次,当然这样的url是不存在
的)

至于cpu,客观上说表达式越复杂,集成度越高,cpu需要的运算和比较
次数肯定是更多的,但这是正则表达式和正则表达式之间的比较。
要说一条/ad/跟为了实现同样功能而产生的N多条型如
http://www.1.com/ad.gif
http://www.2.com/ad.gif
http://www.3.com/ad.gif
来比,当然还是正则表达式更省资源。
而且现在的cpu都够强了,应该区别不会太大。

正则表达式练习器多用一用就会体会到的,我再上传一次。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
EricXP
千年狐狸
千年狐狸
  • UID5182
  • 注册日期2005-04-17
  • 最后登录2010-12-27
  • 发帖数1027
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
12楼#
发布于:2005-04-23 18:04
谢谢kmc大哥的指教,我说的那个*号,是前面带了"."的,有了点的*号在正则表达式里还是代表一切的,比如abc\/.*\..*就代表abc\*.*了.嘿嘿.
╮( ̄▽ ̄")╭

- Adblock Plus 1.1.3
- Adblock Plus: Element Hiding Helper 1.0.6
- Add to Search Bar 2.0
- All-In-One Gestures 0.20.1
- All-In-One Sidebar 0.7.11
- Easy DragToGo 1.1.2.2
- AutoProxy 0.3b4.0+.2009110800
- Coral IE Tab 1.83.20100316
- Easy DragToGo 1.1.2.4
- Favicon Picker 3 0.5
- FlashGot 1.2.1.17
- Gmail Notifier 0.6.4.1
- Greasemonkey 0.8.20100211.5
- IDM CC 6.9.1
- Menu Editor 1.2.6
- Organize Status Bar 0.6.4
- ScrapBook 1.3.6
- Tab Mix Plus 0.3.8.2
- TinEye Reverse Image Search 0.7.1
- WangWang Protocol Handler 3.6

欢迎访问我的Blogger
http://ericxp1984.spaces.live.com/
EricXP
千年狐狸
千年狐狸
  • UID5182
  • 注册日期2005-04-17
  • 最后登录2010-12-27
  • 发帖数1027
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
13楼#
发布于:2005-04-23 18:04
不行,还是不成功,两个要么一起出来,要么一起过滤掉,唉.
╮( ̄▽ ̄")╭

- Adblock Plus 1.1.3
- Adblock Plus: Element Hiding Helper 1.0.6
- Add to Search Bar 2.0
- All-In-One Gestures 0.20.1
- All-In-One Sidebar 0.7.11
- Easy DragToGo 1.1.2.2
- AutoProxy 0.3b4.0+.2009110800
- Coral IE Tab 1.83.20100316
- Easy DragToGo 1.1.2.4
- Favicon Picker 3 0.5
- FlashGot 1.2.1.17
- Gmail Notifier 0.6.4.1
- Greasemonkey 0.8.20100211.5
- IDM CC 6.9.1
- Menu Editor 1.2.6
- Organize Status Bar 0.6.4
- ScrapBook 1.3.6
- Tab Mix Plus 0.3.8.2
- TinEye Reverse Image Search 0.7.1
- WangWang Protocol Handler 3.6

欢迎访问我的Blogger
http://ericxp1984.spaces.live.com/
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
14楼#
发布于:2005-04-23 18:04
我倒,第三次仔细看了一下这个51job,叹为观止啊,居然有
三处出现了ad,怪不得我老弄错……排除了前面的
ad.51job.com,后面还有一个adtrace可以造成匹配。

实践了很久也没出结果,暂时不搞了,我要上网详细查阅一下资料,弄懂了发贴详细的解释一下白名单~实在难度不低
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
上一页
游客

返回顶部