您的位置:首页 > Web前端 > HTML

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

2011-11-15 12:51 639 查看
原文地址: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>

中间过渡解决方案:

先用正则,把换行替换成一个页面里没有的字符,比如“●”,使所有数据在同一行,然后要怎么做就怎么做吧,最后把特殊字符再换回成换行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: