EditPlus支持的正则表达式
EditPlus对正则表达式的支持有限,不支持
重复频度 的定义,如:{3}、{3,}、{3,6}...
下面列出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" 结尾的行.
() 影响表达式匹配的顺序,并且用作表达式的分组标记.
\ 转义字符. 如果你要使用 "\" 本身, 则应该使用 "\\". 表达式的分组使用()来标记. 表达式的分组可以被引用为 \0, \1, \2, \3, 等等. \0 表示被匹配的所有字符串. \1 表示被匹配的第一个分组, \2 表示第二个分组, 依此类推. 举例如下. 原文 查找 替换 结果
正则表达式实例
【1】 正则表达式应用——替换指定内容到行尾
【2】 正则表达式应用——数字替换 【3】 正则表达式应用——删除每一行行尾的指定字符 【4】 正则表达式应用——替换带有半角括号的多行 【5】 正则表达式应用——删除空行 【1】正则表达式应用——替换指定内容到行尾 文本如下 abc aaaaa 123 abc 444 希望每遇到“abc”,则替换“abc”以及其后到行尾的内容为“abc efg”,即上面的文本最终替换为: abc efg 123 abc efg
解决:
abc.* → abc efg
【2】正则表达式应用——数字替换
希望把 asdadas123asdasdas456asdasdasd789asdasd 替换为: asdadas[123]asdasdas[456]asdasdasd[789]asdasd
解决:
[0-9][0-9][0-9] → [\0\1\2]
如果是任意数字串,则“[0-9]*[0-9]”
【3】正则表达式应用——删除每一行行尾的指定字符
比如 12345 1265345 2345 需要删除每行末尾的“345”
解决:
345$ → 空 如果是行首,则前面加“^”
【4】正则表达式应用——替换带有半角括号的多行
几百个网页中都有下面一段代码: <script LANGUAGE="JavaScript1.1"> <!-- htmlAdWH('93163607', '728', '90'); //--> </SCRIPT> 我想把它们都去掉,可是找了很多search & replace的软件,都是只能对“一行”进行操作。 EditPlus 打开几百个网页文件还是比较顺畅的,所以完全可以胜任这个工作。
解决
在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以需要使用 \ 转义。
解决:
(<A href="([^>]+)">) → \1
(http://.*) →\1
【6】正则表达式应用——删除空行
^[ \t]*\n
→ 空
注意\t前有空格符。空格符是空行的一个组成成分。 (注意:EditPlus有时存在“全部替换”不能一次性完全删除空行的问题,可能是程序BUG,需要多按几次按钮)。
【7】正则表达式应用——删除单行注释
^[ \t]*//.*
→ 空
【8】正则表达式应用——查找多行注释
^[ \t]*/\*
|
|