一. 正则表达式主要符号
1. % 匹配行首 - 表示搜索字符串必须在行首,但不包括任何选定的结果字符中的行终止字符。
2. $ 匹配行尾 - 表示搜索字符串必须在行尾,但不包括任何选定的结果字符中的行终止字符。
3. ? 匹配任何除换行符的字符。
4. * 匹配任何除换行符外所出现的任意数量的字符。
5. + 匹配一个或多个前面的字符/表达式。必须找到至少一个出现的字符。不匹配重复的换行符。
6. ++ 零次或多次匹配前面的字符/表达式。不匹配重复的换行符。
7. ^b 匹配一个分页符。
8. ^p 匹配一个换行符 (CR/LF) (段落) (DOS 文件)
9. ^s 替换为被选择 ( 加亮 ) 活跃的文件窗口的文章。
10. ^c 替换为剪贴板的内容
11. ^r 匹配一个换行符 (仅 CR) (段落) (MAC 文件)
12. ^n 匹配一个换行符 (仅 LF) (段落) (UNIX 文件)
13. ^t 匹配一个制表符
14. [ ] 匹配任何括号中的单个字符或范围
15. ^{A^}^{B^} 匹配表达式 A 或 B
16. ^ 忽略其后的正则表达式字符
注: ^ 是实际字符 ^不是Ctl + 键值。
17. ^(*^) 在表达式加上括号或标签在替换命令中使用。
18. [xyz] 一个字符集。匹配在方括号之间的任何字符。
19. [^xyz] 一个否定的字符集。不匹配在方括号之间的任何字符。
20. d 匹配一个数字字符。等价于[0-9]。
21. D 匹配一个非数字字符。等价于[^0-9]。
22. f 匹配一个换页字符。
23. n 匹配一个换行字符。
24. r 匹配一个回车符字符。
25. s 匹配任何空白的空格, 标签, 换页, 包括空格等等,但不匹配换行符。
26. S 匹配任何非空白的字符,但不匹配换行符。
27. t 匹配一个标签TAB字符。
28. v 匹配一个垂直的标签字符。
29. w 匹配任何词语字符包括下划线。
30. W 匹配任何非词语字符字符。
二. 相关功能使用搭配
1. 删除空行: 替换 %[ ^t]++^p 为 空串
2. 删除行尾空格: 替换 [ ^t]+$ 为 空串
3. 删除行首空格: 替换 %[ ^t]+ 为 空串
4. %[ ^t]++^([~ ^t^p]^) 表示开头,如果想在行首添加字符值,则如:
Ø 替换 %[ ^t]++^([~ ^t^p]^) 为 北京市^1
Ø 每行设置为固定的4个空格开头: 替换 %[ ^t]++^([~ ^t^p]^) 为 " ^1" (操作时去掉^1两边的双引号)
5. 删除文本中指定的前2列字符: 替换 %?? 为 空串 (一个汉字为两个字符,需要两个??,如果需要删除多个汉字,则输入相应数量的?即可)
6. 如果首行以空格开头,想将每段设置改为固定的4个空格开头: 替换 %[ ^t]+ 为 " " %[ ^t]+ 代表每行行首(操作时去掉空格两边的双引号; 如果一行是以空格开始的,则视之为一段的开始行)
7. 在第4列后插入2列空白字符: 替换 %^(????^)^(?^) 为 "^1 ^2" (操作时去掉空格两边的双引号)
8. 查找所有的数字: [0-9]+[.]++[0-9]+
9. 查找所有的单词: [a-z]+
10. 查找所有的网址: http://[a-z0-9^~`_./^-^?=&]+
11. 查找行首为数字的行:%[(0-9)^t]+
12. 去掉所编辑文本中包含特定字符串的行
CTRL+R 调出来替换(Replace)窗口,选中"使用正则表达式";然后用查找 %*你的字符串*^p 替换成空内容即可.如,我当前有个文本文件,需要去掉所有包含 http://www.dbanotes.net/ 这个字符串的行,查找 %*http://www.dbanotes.net/*^p 替换成空即可.注意,^p 是 DOS 文件类型的换行符.如果是 Unix 类型文件,则用 ^n.
13. %1 搜索以1开头的行
1$ 搜索以1为结尾的行