evio
火狐狸
火狐狸
  • UID8790
  • 注册日期2005-09-23
  • 最后登录2009-11-06
  • 发帖数274
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:2481回复:6

跟大家讨论一下关于adblock正则表达示的应用

楼主#
更多 发布于:2005-11-01 12:33
有一条过滤规则是这样的:
/[\W_]ad[^=&](banner|click|flow|frame|ima?ge?
|log|serv(er|e)?|stream|type|view|vert(ising|isement)?
|v|js|trix|xchange|wrapper)?s?[\W\d_]/

请问,红色&蓝色部分分别代表什么意思?
还有,这条过滤规格和另外一条过滤规则/(ad(s)?(\d)*/,是否有重复的地方?

还有,
(1)在adblock中的过滤条件越多,正则表达式越长,是不是会降低网页打开的速度??
(2)adblokc的屏蔽,是下载后屏蔽显示,还是干脆不下载??
(3)*.swf和/\.swf/,两种同样可以屏蔽flash的方法,是不是前者的执行速度更快??

以上问题转自下贴https://www.firefox.net.cn/newforum/viewtopic.php?p=76100#76100
CrossBud
黄金狐狸
黄金狐狸
  • UID7038
  • 注册日期2005-06-29
  • 最后登录2016-08-31
  • 发帖数5948
  • 经验12枚
  • 威望2点
  • 贡献值40点
  • 好评度20点
  • 社区居民
1楼#
发布于:2005-11-01 12:33
嗯,对于我们不是很明白正则的,这几个问题相当有代表性,kmc大大给解释解释吧
evio
火狐狸
火狐狸
  • UID8790
  • 注册日期2005-09-23
  • 最后登录2009-11-06
  • 发帖数274
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2005-11-01 12:33
又发现个问题
*.swf 和  /\.swf/ 和 /.swf/, 这三个都能过滤flash
特别奇怪后面两个的区别。
粗略的看了一下正则表达式的语法,其点号是用“\.”来表示的,那第三个中单独的一个点号又表示什么意思??

请牛人帮忙解答一下
copyliu
非常火狐
非常火狐
  • UID2416
  • 注册日期2005-01-21
  • 最后登录2012-05-14
  • 发帖数611
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2005-11-01 12:33
dreamweaver 中关于正则表达式的帮助文档

关于常规表达式
常规表达式是以文本描述字符组合的模式。在搜索中使用常规表达式可以有助于描述一些概念,例如“以‘The’开始的句子”和“包含数字的属性值”。下表列出了在常规表达式中使用的特殊字符、其含义和用法示例。
若要搜索包含该表中某一特殊字符的文本,请在特殊字符前面附加一个反斜杠,令其“转义”。例如,若要在 some conditions apply* 短语中搜索实际的星号,您的搜索模式应类似于:apply\*。如果您没有令星号转义,您将找到“apply”的所有匹配项(以及“appl”、“applyy”、和“applyyy”的所有匹配项),而不只是后面跟有星号的那些匹配项。
字符
匹配
示例
^
输入或行的起始部分。
^T 匹配“This good earth”中的“T”,但不匹配“Uncle Tom’s Cabin”中的“T”
$
输入或行的结尾部分。
h$ 匹配“teach”中的“h”,但不匹配“teacher”中的“h”
*
0 个或多个前置字符。
um* 匹配“rum”中的“um”、“yummy”中的“umm”和“huge”中的“u”
+
1 个或多个前置字符。
um+ 匹配“rum”中的“um”和“yummy”中的“umm”,但在“huge”中没有任何匹配项
?
前置字符最多出现一次(即,指示前置字符是可选的)。
st?on 匹配“Johnson”中的“son”、“Johnston”中的“ston”,但在“Appleton”或“tension”中没有任何匹配项
.
除换行符外的任何单字符。
.an 匹配短语“bran muffins can be tasty”中的“ran”和“can”
x|y
x 或 y。
FF0000|0000FF 匹配 bgcolor=”#FF0000” 中的“FF0000”以及 font color=”#0000FF” 中的“0000FF”
{n}
恰好 n 个前置字符。
o{2} 匹配“loom”中的“oo”和“mooooo”中的前两个 o,但在“money”中没有任何匹配项
{n,m}
至少 n 个、至多 m 个前置字符。
F{2,4} 匹配“#FF0000”中的“FF”和“#FFFFFF”中的前 4 个 F
[abc]
用括号括起来的字符中的任何一个字符。用连字符指定某一范围的字符(例如,[a-f] 等效于 [abcdef])。
[e-g] 匹配“bed”中的“e”、“folly”中的“f”和“guard”中的“g”
[^abc]
未在括号中括起来的任何字符。用连字符指定某一范围的字符(例如,[^a-f] 等效于[^abcdef])。
[^aeiou] 最初匹配“orange”中的“r”、“book”中的“b”和“eek!”中的“k”
\b
词边界(例如空格或回车符)。
\bb 匹配“book”中的“b”,但在“goober”或“snob”中没有任何匹配项
\B
非词边界。
\Bb 匹配“goober”中的“b”,但在“book”中没有任何匹配项
\d
任何数字字符。等效于 [0-9]。
\d 匹配“C3PO”中的“3”和“apartment 2G”中的“2”
\D
任何非数字字符。等效于 [^0-9]。
\D 匹配“900S”中的“S”和“Q45”中的“Q”
\f
换页符。
 
\n
换行符。
 
\r
回车符。
 
\s
任何单个空白字符,包括空格、制表符、换页符或换行符。
\sbook 匹配“blue book”中的“book”,但在“notebook”中没有任何匹配项
\S
任何单个非空白字符。
\Sbook 匹配“notebook”中的“book”,但在“blue book”中没有任何匹配项
\t
制表符。
 
\w
任何字母数字字符,包括下划线。等效于 [A-Za-z0-9_]。
b\w* 匹配“the barking dog”中的“barking”以及“the big black dog”中的“big”和“black”
\W
任何非字母数字字符。等效于 [^A-Za-z0-9_]。
\W 匹配“Jake & Mattie”中的“&”和“100%”中的“%”
Ctrl+Enter 或 Shift+Enter (Windows)、或者 Control+Return 或 Shift+Return 或 Command+ Return (Macintosh)
回车符。确保如果没有使用常规表达式,则在搜索时取消对“忽略空白差别”的选择。请注意,这匹配特定字符,而不是一般意义上的换行符;例如,它不匹配
 标签或  标签。回车符作为空格出现在文档窗口中,而不是作为换行符出现在文档窗口中。
 
使用括号在常规表达式内分隔以后要引用的分组;使用 $1、$2、$3 等(在“查找”域中使用 ($),在“替换”域中使用反斜杠 (\))以表示第一个、第二个、第三个和更后面的括号分组。例如,通过搜索 (\d+)\/(\d+)\/(\d+) 并用 $2/$1/$3 替换它,可以在由斜杠分隔的日期中交换日和月(以便在美国样式日期和欧洲样式日期之间进行转换)。
业余占星、占卜 星海茫茫 谁主沉浮? [url=http://www.copyliu.cn]Copyliu's Blog 不奢吞食天地,只求浪漫人间![/url] [img]http://copyliu.cn/statusbot.png.php[/img] [img]http://copyliu.cn/gfw-large.png[/img]
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2025-08-21
  • 发帖数18502
  • 经验4858枚
  • 威望5点
  • 贡献值4324点
  • 好评度1118点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
4楼#
发布于:2005-11-01 12:33
正则我也不是很清楚 因为没有学javascript
不顾教程还是很多的哦
我给你几个
http://www.pconline.com.cn/pcedu/empold ... 33294.html

http://oo8h.51.net/docs/regular_expression.htm
Firefox More than meets your experience
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
5楼#
发布于:2005-11-01 12:33
CrossBud:嗯,对于我们不是很明白正则的,这几个问题相当有代表性,kmc大大给解释解释吧回到原帖


在我这个帖子的一楼附件里面有一个(好像是两个)正则表达式的基础教程,
里面解释了这些专有的语法的,我就是看这个配合实践才慢慢入门的。
Mozilla Firefox中文社区 :: AdBlock正则表达式实践心得[by kmc] - 阅读主题
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
lococo
火狐狸
火狐狸
  • UID2458
  • 注册日期2005-01-23
  • 最后登录2016-04-07
  • 发帖数100
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
6楼#
发布于:2005-11-01 12:33
*.swf 以swf结尾的文件
/\.swf/  路径中存在.swf的文件
 /.swf/ 路径中存在swf的文件

举例:
1)http://www.firefox.com/1.swf 三者都可以过滤
2)http://www.swf.com/2.gif  有 /\.swf/ 和/.swf/可以过滤
3)http://www.abcswf.com/3.gif 只有/.swf/可以过滤。
游客

返回顶部