- UID
- 54362
- 帖子
- 19
- 精华
- 0
- 贡献
- 0
- 推广
- 0
- 有效BUG
- 0
- 注册时间
- 2007-4-7
|
置顶的过滤规则教程里关于正则表达式有如下表述:
- $i
- 表示前面用 () 捕获的第 i 个子表达式. i = 1, 2, 3...
- 例: $1 表示前面用 <a[^>]*?href=(".*?")[^>]*?> 捕获 <a href="http://bbs.ioage.com/">
- 得到的 "http://bbs.ioage.com/" 部分. 用于 replace 及 return 部分
复制代码
实践证明这里的$i似乎应为\i
1、正则表达式的种类似乎太多(比如微软的MSDN里提到的、Perl正则表达式、Unix正则表达式、UltraEdit正则表达式等等,奇怪的是微软的VS2008编辑器用的正则表达式似乎和MSDN里提到的不完全相同),虽然大同小异,但这些“小异”往往会造成很多麻烦。论坛是不是出一个由开发者提供的正则表达式规范?
2、广告过滤时,似乎只能利用正则表达式来检索,而不能用来替换。举个例子,比如我要把- <a href="path1...">xxx</a>
复制代码 的内容(其中xxx是任意合乎html规范的内容)替换成- <a href="path2...">xxx</a>
复制代码
按照一般正则表达式的理解,只需写成如下- #ex#<a href="path1([^"]*?)">([^<]*>)</a>#<a href="path2\1">\2</a>
复制代码 即可。遗憾的是目前版本的TW不支持这么干。 |
|