在 Notepad++ 中,正则表达式(Regular Expressions, Regex) 是一个强大的搜索和替换工具,可以高效地处理文本。以下是 Notepad++ 正则表达式 的指南:
1. 如何在 Notepad++ 中使用正则表达式
-
打开搜索窗口:
-
快捷键
Ctrl + F(查找)或Ctrl + H(替换)。
-
-
选择正则表达式模式:
-
在搜索窗口底部,选择 "正则表达式"(
Regular expression)选项。
-
-
输入正则表达式:
-
在搜索框输入你的正则表达式,点击 "查找" 或 "替换"。
-
2. 常用正则表达式语法
基本匹配
| 表达式 | 说明 | 示例 |
|---|---|---|
. |
匹配任意单个字符(换行符除外) |
a.c → abc, aac
|
^ |
匹配行首 |
^Hello → 匹配行首的 Hello
|
$ |
匹配行尾 |
end$ → 匹配行尾的 end
|
\ |
转义特殊字符 |
\. → 匹配 .(而不是任意字符) |
字符类
| 表达式 | 说明 | 示例 |
|---|---|---|
[abc] |
匹配 a、b 或 c
|
[aeiou] → 匹配任意元音 |
[^abc] |
匹配 非 a、b、c 的字符 |
[^0-9] → 匹配非数字 |
[a-z] |
匹配小写字母 |
[a-z] → a, b, ..., z
|
[A-Z] |
匹配大写字母 |
[A-Z] → A, B, ..., Z
|
[0-9] |
匹配数字 |
[0-9] → 0, 1, ..., 9
|
\d |
匹配数字(同 [0-9]) |
\d\d → 12, 34
|
\w |
匹配字母、数字或下划线 |
\w+ → abc, var_1
|
\s |
匹配空白字符(空格、制表符等) |
\s+ → , \t
|
量词(匹配次数)
| 表达式 | 说明 | 示例 |
|---|---|---|
* |
匹配 0 次或多次 |
a* → "", a, aa
|
+ |
匹配 1 次或多次 |
\d+ → 1, 123
|
? |
匹配 0 次或 1 次 |
colou?r → color, colour
|
{n} |
匹配恰好 n 次 |
a{3} → aaa
|
{n,} |
匹配至少 n 次 |
\d{2,} → 12, 123
|
{n,m} |
匹配 n 到 m 次 |
a{2,4} → aa, aaa, aaaa
|
分组与捕获
| 表达式 | 说明 | 示例 |
|---|---|---|
( ) |
分组,可在替换时引用 |
(abc)+ → abc, abcabc
|
\1, \2, ... |
引用捕获的分组 | 查找 (\d+)-(\d+),替换为 \2-\1 → 123-456 → 456-123
|
(?: ) |
非捕获分组(不存储匹配) |
(?:abc)+ → abcabc
|
3. 实际应用示例
示例 1:删除空行
-
查找:
^\s*$-
^行首,\s*任意空白字符(0 次或多次),$行尾。
-
-
替换:留空(删除空行)。
示例 2:提取所有邮箱
-
查找:
[\w.-]+@[\w.-]+\.\w+-
[\w.-]+匹配用户名(字母、数字、.、-),@后跟域名。
-
示例 3:批量替换日期格式
-
原始文本:
2023-12-31 -
查找:
(\d{4})-(\d{2})-(\d{2}) -
替换:
\3/\2/\1 -
结果:
31/12/2023(改为日/月/年格式)。
示例 4:删除 HTML 标签
-
查找:
<[^>]+>-
<开始标签,[^>]+匹配>以外的任意字符,>结束标签。
-
-
替换:留空(删除所有 HTML 标签)。
4. Notepad++ 正则表达式注意事项
-
区分大小写:默认区分大小写,可在搜索选项取消勾选
Match case。 -
贪婪匹配:
.*会匹配尽可能多的字符,.*?是非贪婪匹配(匹配最少字符)。 -
换行匹配:默认
.不匹配换行符,需勾选[. matches newline](在查找→替换窗口)。 -
特殊字符:
\,^,$,*,+,?,[,],{,},(,)需要转义(如\*匹配*)。
5. 高级技巧
使用 \R 匹配换行
-
\R可以匹配\r\n(Windows)、\n(Linux/macOS)等换行符。 -
示例:
abc\Rdef可以匹配:abc def
条件匹配
-
(?=...)正向预查(匹配后面是...的内容)。-
示例:
Windows(?=10)只匹配Windows后面是10的情况(如Windows10)。
-
-
(?<=...)反向预查(匹配前面是...的内容)。-
示例:
(?<=\$)\d+匹配$后面的数字(如$100→100)。
-
总结
| 任务 | 正则表达式 |
|---|---|
| 删除空行 | ^\s*$ |
| 提取邮箱 | [\w.-]+@[\w.-]+\.\w+ |
| 替换日期格式 |
(\d{4})-(\d{2})-(\d{2}) → \3/\2/\1
|
| 删除 HTML 标签 | <[^>]+> |
| 匹配换行 | \R |
掌握这些正则表达式技巧,可以让你在 Notepad++ 中高效处理文本!如果需要更复杂的匹配,可以尝试组合使用分组、量词和预查功能。