1. Notepad++正则表达式语法
注意:Notepad++正则表达式字符串最长不能超过69个字符
符号 | 含义 |
---|---|
\ | 转义字符 如:要使用 "\" 本身, 则应该使用"\\" |
\t | Tab制表符 注:扩展和正则表达式都支持 |
\r | 回车符CR 注:扩展支持,正则表达式不支持 |
\n | 换行符LF 注:扩展支持,正则表达式不支持 |
. | 匹配任意一个字符 |
^ | 其右边的表达式被匹配在行首。如:^A匹配以"A"开头的行 |
$ | 其左边的表达式被匹配在行尾。如:e$匹配以"e"结尾的行 |
| | 或运算符,匹配表达式左边和右边的字符串。如: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";\r?\n匹配行结尾符 |
() | 影响表达式匹配的顺序(类似C++的小括号会影响表达式运算顺序),并且用作表达式的分组标记(标记从1开始)如:([a-z]bc)smn\1匹配"tbcsmntbc" |
{} | 指定前面的字符或分组的出现次数 如:abc{3}匹配abccc;a(bc){2}匹配abcbc |
\d | 匹配一个数字字符。等价于:[0-9] |
\D | \d取反,匹配一个非数字字符。等价于:[^0-9] |
\s | 匹配任意单个空白字符:包括空格、制表符等(注:不包括换车符和换行符)。等价于:[ \t] |
\S | \s取反的任意单个字符。 |
\w | 匹配包括下划线的任意单个字符。等价于:[A-Za-z0-9_] |
\W | \w取反的任意单个字符。等价于:[^A-Za-z0-9_] |
\b | 匹配单词起始处或结尾处 如:\bin匹配int,但不匹配sing |
2. 示例
2.1. 查找两段特殊字符之间文字
- 需求:
从下列文字中提取:https://www.jetbrains.com/help/img/idea/2020.1/icons.fileTypes.javaClass.png
行 11: <td id="1d9526"><img src="https://www.jetbrains.com/help/img/idea/2020.1/icons.fileTypes.javaClass.png" alt="Class" class="inline-icon-16"></td>
2.2. 删除包含 STAT #
字符的行
Ctrl + H 替换,替换栏空着,查找目标栏输入如下
^.*STAT #.*$
这样替换后会留下空行。另外如果有特殊字符,请使用转义符号 \
2.3. 删除包含 STAT #
字符的行,并去除该空行
CTRL+H
选择正则表达式,替换栏空着,查找目标栏输入如下:
^.*STAT #.*\r?\n
2.4. 去行尾空格
CTRL+H
选择正则表达式,替换栏空着,查找目标栏输入如下:
\s+$