请教一个字符串匹配的规则

新手入门、经验交流

Moderator: cre

Forum rules
  • 软件自带帮助是最好的入门教程,请仔细阅读;在您掌握最基本知识前,我们没法帮助您
  • 提问前请先查阅软件帮助文件和论坛相关讨论
  • 查阅软件帮助和论坛相关讨论即可解决的问题帖将直接删除,以免浪费他人时间
  • 请学会如何提问,尽量将问题描述清楚,不明确的提问将被直接删除
Post Reply
woai3838338
Posts: 10
Joined: May 09 2008, 23:58

请教一个字符串匹配的规则

Post by woai3838338 »

<a[^>]++href=$AV(*((he|re)$SET(pan=1)|$SET(pan=2))ad*&$TST(pan=2))*</a>

目的:清除含有ad的链接地址,但是此ad却不是head或read里面的。
我是为了清除一些广告链接。

遇到的问题:比如:链接地址是aaaheadad。就不被过滤。我感觉是这个规则只是检测到head字符串,而head后面的字符就不被检测了。我当然希望这个字符被过滤了,,因为他含有ad,这个ad也不是head和read里面的。


请教:这个问题如何解决。。
谢谢!!!
User avatar
phoenix
Site Admin
Posts: 529
Joined: Dec 29 2007, 16:27

Re: 请教一个字符串匹配的规则

Post by phoenix »

woai3838338 wrote:目的:清除含有ad的链接地址,但是此ad却不是head或read里面的。
这个定义比较模糊,面临多种可能的组合,我功力不够,没能写成一个通用规则来包含所有情况。

不如定义得更清楚些,比如不能包含/(he|re)ad.(php|asp),这样就大大缩小了组合的范围,实现起来会容易些。
Post Reply