Editplus替换HTML标签的正则表达式(转)

 原文地址:http://blog.sina.com.cn/s/blog_4384a04e0100lp2a.html

 

只一句,仅一句:

<[^>]*>

 

拆解开:

<*>

[^>]


解说:
1、<*>:匹配“<”开始,到最后一个“>”;
2、[^>]:除了“>”这个符号,都匹配;
整个的意思:匹配“<”开始,一直往后匹配,除了遇到“>”这个符号的字符全部匹配中,然后最后匹配到一个“>”,即:<xxxxxxxx(这里不包括“>”,如果包括“>”则*号的任务完成,即截止在“>”之前)然后再匹配上“>”符。

 

网络上的Editplus正则,长篇大论,都是牛人写的……

-----------------
Editplus只支持以下正则:
\t 制表符
\n 新行
. 匹配任意字符
| 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc"
[] 匹配列表之中的任何单个字符. 例如, "[ab]" 匹配 "a" 或者 "b". "[0-9]" 匹配任意数字
[^] 匹配列表之外的任何单个字符. 例如, "[^ab]" 匹配 "a" 和 "b" 以外的字符. "[^0-9]" 匹配任意非数字字符
* 其左边的字符被匹配任意次(0次,或者多次). 例如 "be*" 匹配 "b", "be" 或者 "bee"
+ 其左边的字符被匹配至少一次(1次,或者多次). 例如 "be+" 匹配 "be" 或者 "bee" 但是不匹配 "b"
? 其左边的字符被匹配0次或者1次. 例如 "be?" 匹配 "b" 或者 "be" 但是不匹配 "bee"
^ 其右边的表达式被匹配在一行的开始. 例如 "^A" 仅仅匹配以 "A" 开头的行
$ 其左边的表达式被匹配在一行的结尾. 例如 "e$" 仅仅匹配以 "e" 结尾的行
() 影响表达式匹配的顺序,并且用作表达式的分组标记
\ 转义字符. 如果你要使用 "\" 本身, 则应该使用 "\\"

不支持跨行匹配,比如别想区配:
<a

href=...></a>

中间过渡解决方案:
先用正则,把换行替换成一个页面里没有的字符,比如“●”,使所有数据在同一行,然后要怎么做就怎么做吧,最后把特殊字符再换回成换行。

posted @ 2013-01-23 00:06  meetrice  阅读(308)  评论(0编辑  收藏  举报