返回列表 发帖

B4用到的广告过滤语法-正则表达式 简单说明

看到这篇描述比较通俗,大家一起先来了解一下正则表达式。为使用B4版做做心理准备
(帖子先就放在这里)

文章写的可能和TW使用的有点出入,但应是大同小异。详情等开发组说明。


元字符


描述

.

匹配任何单个字符。例如正则表达式r.t匹配这些字符串:ratrutr t,但是不匹配root

$

匹配行结束符。例如正则表达式weasel$能够匹配字符串"He's a weasel"的末尾,但是不能匹配字符串"They are a bunch of weasels."。

^

匹配一行的开始。例如正则表达式^When in能够匹配字符串"When in the course of human events"的开始,但是不能匹配"What and When in the"

*

匹配0或多个正好在它之前的那个字符。例如正则表达式.*意味着能够匹配任意数量的任何字符。

\

这是引用府,用来将这里列出的这些元字符当作普通的字符来进行匹配。例如正则表达式\$被用来匹配美元符号,而不是行尾,类似的,正则表达式\.用来匹配点字符,而不是任何字符的通配符。

[ ]

[c1-c2]

[^c1-c2]

匹配括号中的任何一个字符。例如正则表达式r[aou]t匹配ratrotrut,但是不匹配ret。可以在括号中使用连字符-来指定字符的区间,例如正则表达式[0-9]可以匹配任何数字字符;还可以制定多个区间,例如正则表达式[A-Za-z]可以匹配任何大小写字母。另一个重要的用法是“排除”,要想匹配除了指定区间之外的字符——也就是所谓的补集——在左边的括号和第一个字符之间使用^字符,例如正则表达式[^269A-Z]将匹配除了2、6、9和所有大写字母之外的任何字符。

\< \>

匹配词(word)的开始(\<)和结束(\>)。例如正则表达式\<the能够匹配字符串"for the wise"中的"the",但是不能匹配字符串"otherwise"中的"the"。注意:这个元字符不是所有的软件都支持的。

\( \)

将 \( 和 \) 之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个),它们可以用 \1\9的符号来引用。

|

将两个匹配条件进行逻辑“或”(Or)运算。例如正则表达式(him|her)匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:这个元字符不是所有的软件都支持的。

+

匹配1或多个正好在它之前的那个字符。例如正则表达式9+匹配9、99、999等。注意:这个元字符不是所有的软件都支持的。

?

匹配0或1个正好在它之前的那个字符。注意:这个元字符不是所有的软件都支持的。

\{i\}

\{i,j\}   

匹配指定数目的字符,这些字符是在它之前的表达式定义的。例如正则表达式A[0-9]\{3\}能够匹配字符"A"后面跟着正好3个数字字符的串,例如A123、A348等,但是不匹配A1234。而正则表达式[0-9]\{4,6\}匹配连续的任意4个、5个或者6个数字字符。注意:这个元字符不是所有的软件都支持的。



[ 本帖最后由 无边无际 于 2007-1-8 21:44 编辑 ]


可以使用方括号来指定多个字符区间。例如正则表达式[A-Za-z]匹配任何字母,包括大写和小写的;正则表达式[A-Za-z][A-Za-z]* 匹配一个字母后面接着0或者多个字母(大写或者小写)。当然我们也可以用元字符+做到同样的事情,也就是:[A-Za-z]+ ,和[A-Za-z][A-Za-z]*完全等价。但是要注意元字符+ 并不是所有支持正则表达式的程序都支持的。

要指定特定数量的匹配,要使用大括号(注意必须使用反斜杠来转义)。想匹配所有100和1000的实例而排除10和10000,可以使用:10\{2,3\},这个正则表达式匹配数字1后面跟着2或者3个0的模式。在这个元字符的使用中一个有用的变化是忽略第二个数字,例如正则表达式0\{3,\} 将匹配至少3个连续的0。



(来源:http://net.pku.edu.cn/~yhf/tao_regexps_zh.html

[ 本帖最后由 无边无际 于 2007-1-8 21:42 编辑 ]
附件: 您需要登录才可以下载或查看附件。没有帐号?加入 我们

TOP

看不懂,,

TOP

这个需要我等仔细研究下,一下子看不明白

TOP



赞。

刚才版主提到了一下,我也去搜索看了看。

这里也有个网页介绍,蛮不错的。


http://www.unibetter.com/deercha ... hi-jiaocheng-se.htm

(不过弱弱地问一句,我们看这些东西,什么时候会用到么?)

TOP

我也传一个之前收集的一些教程上来
附件: 您需要登录才可以下载或查看附件。没有帐号?加入 我们

TOP

其实,象浏览器这种给普通用户使用的软件,让正则表达式面对用户,就是典型的噱头,真正使用这个的有没有1‰我都很怀疑
唯一的用途就是作者或者一些热心用户提供一些现成的给长上论坛的人用,而常上论坛等类似地方的,有1%吗?

不过,支持一些最简单最常用的,还是必要的,……

TOP

原帖由 Andever 于 2007-1-8 21:23 发表


赞。

刚才版主提到了一下,我也去搜索看了看。

这里也有个网页介绍,蛮不错的。


http://www.unibetter.com/deercha ... hi-jiaocheng-se.htm

(不过弱弱地问一句,我们看这些 ...


匹配URL、http头或者网页代码用滴,匹配到了就可以换成你需要的了(比如广告过滤),比“*”通配符强大N倍。

TOP

原帖由 Godot 于 2007-1-8 21:28 发表


匹配URL、http头或者网页代码用滴,匹配到了就可以换成你需要的了(比如广告过滤),比“*”通配符强大N倍。


哦,这样啊,我尝试着使用吧

谢谢你

TOP

无际c版都有备而来,慢慢看

TOP

对这个比较头大

TOP

N版上传的那个好像也差不多。。。
看起来有点云里雾里的。。
Follow ME
---------------
我的博客

TOP

返回列表