请教一个不包括的写法

新手入门、经验交流

Moderator: cre

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

请教一个不包括的写法

Post by 不夜侯 »

想制定一个规则去过滤天涯不相干的js,我的思路是这样的,凡是src路径结尾不是以下内容的js一律过滤。

Code: Select all

[\/_](ty_vip|global-all|techContentStyleCtrl|publicContentStyleCtrl|tianyaTopGuideJs100percent|techGoPage|nav_top_bbs|leftnav_v2-min).js
写了好多种,感觉不太对。
请教正确的写法应该如何定?谢谢!

Code: Select all

[Patterns]
Name = "tianya JavaScript"
Active = TRUE
URL = "$TYPE(htm)*.tianya.cn/"
Bounds = "<script\s*</script>"
Limit = 256
Match = "<script\s([^>]+&&*src=$AV(*[\/_](^*(ty_vip|global-all|techContentStyleCtrl|publicContentStyleCtrl|tianyaTopGuideJs100percent|techGoPage|nav_top_bbs|leftnav_v2-min))[\/._]*js*))>*"
User avatar
phoenix
Site Admin
Posts: 529
Joined: Dec 29 2007, 16:27

Re: 请教一个不包括的写法

Post by phoenix »

Code: Select all

[Patterns]
Name = "tianya JavaScript"
Active = TRUE
URL = "$TYPE(htm)*.tianya.cn/"
Bounds = "<script\s*</script>"
Limit = 256
Match = "*src=$AV((^*[\/_](ty_vip|global-all|techContentStyleCtrl|publicContentStyleCtrl|tianyaTopGuideJs100percent|techGoPage|nav_top_bbs|leftnav_v2-min).js)*)*"
另外 [\/_] 有问题。如果要匹配 \ ,应该写成 [\\/_] ;如果不要匹配 \ ,写成 [/_] 就可以了。
不夜侯
Posts: 101
Joined: Jul 29 2009, 16:22

Re: 请教一个不包括的写法

Post by 不夜侯 »

phoenix wrote:

Code: Select all

[Patterns]
Name = "tianya JavaScript"
Active = TRUE
URL = "$TYPE(htm)*.tianya.cn/"
Bounds = "<script\s*</script>"
Limit = 256
Match = "*src=$AV((^*[\/_](ty_vip|global-all|techContentStyleCtrl|publicContentStyleCtrl|tianyaTopGuideJs100percent|techGoPage|nav_top_bbs|leftnav_v2-min).js)*)*"
另外 [\/_] 有问题。如果要匹配 \ ,应该写成 [\\/_] ;如果不要匹配 \ ,写成 [/_] 就可以了。
谢谢!
请问为什么有红色 *
*src=$AV((^*[\/_](ty_vip|global-all|techContentStyleCtrl|publicContentStyleCtrl|tianyaTopGuideJs100percent|techGoPage|nav_top_bbs|leftnav_v2-min).js)*)*

另外 [\/_] ,应该是 [/_],谢谢指正。我将 . / _ 前经常加 \ ,以为可有可无。
User avatar
phoenix
Site Admin
Posts: 529
Joined: Dec 29 2007, 16:27

Re: 请教一个不包括的写法

Post by phoenix »

不夜侯 wrote: 请问为什么有红色 *
*src=$AV((^*[\/_](ty_vip|global-all|techContentStyleCtrl|publicContentStyleCtrl|tianyaTopGuideJs100percent|techGoPage|nav_top_bbs|leftnav_v2-min).js)*)*
因为 (^blahblah) 匹配的是一个位置,表示该位置之后不能有 blahblah,这个位置并不消耗字符,所以我们需要 * 来消耗掉 src 中的值。
Post Reply