本帖最后由 达耳闻 于 2026-5-19 08:18 编辑 * D1 k/ s- F. L( R$ k+ N
( h2 p2 L1 Z; [% f, L7 }: ?元字符 | 含义 | . | 代表任意字符,换行符除外 | ^ | 代表一行的开头 | $ | 代表一行的结尾 | * | 代表一个字符可以出现 0 次或多次 | + | 代表一个字符可以出现 1 次或多次 | ? | 代表一个字符可以出现 0 次或 1 次 | {n} | 代表一个字符可以出现 n 次 | {n,} | 代表一个字符可以出现 n 次或多次 | {n,m} | 代表一个字符可以出现 n~m 次 | […] | 代表括号中任意一个字符 | [^…] | 代表除括号中字符外的任意字符 | \ | 转义字符 |
特殊字符 | 含义 | \d | 代表任意一个数字,等价于 [0-9] | \D | 代表任意一个非数字字符,等价于 [^0-9] | \w | 代表任意一个字母、数字或下划线,等价于 [a-zA-Z0-9_] | \W | 代表任意一个非字母、数字或下划线字符,等价于 [^a-zA-Z0-9_] | \s | 代表任意一个空白字符,包括空格、制表符、换行符等 | \S | 代表任意一个非空白字符 |
汇总如下: \ 转义字符 如:要使用 “\” 本身, 则应该使用“\” \t Tab制表符 注:扩展和正则表达式都支持 \r 回车符CR 注:扩展支持,正则表达式不支持 \n 换行符LF 注:扩展支持,正则表达式不支持 \r\n 正则表达式可表示回车换行 . 匹配任意一个字符 ^ 其右边的表达式被匹配在行首。如:^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 匹配单词起始处或结尾处
: S1 O- O9 L" K% t# E+ V 正则表达式需转义的字符包括: * . ? + ^ $ | \ / [ ] ( ) { } 在 Notepad 中,我们可以通过“查找”功能来查找特定的文本。首先,我们需要展开“查找”对话框,在菜单栏中选择“编辑”->“查找”,或者使用快捷键“Ctrl + F”。 在查找对话框中,我们可以输入要查找的文本。如果我们要使用正则表达式查找,需要在“查找选项”中勾选“使用正则表达式”。此时,我们就可以输入正则表达式了。 例如,我们要查找所有以“at”结尾的单词,可以使用正则表达式 \b\w+at\b,其中 \b 代表单词的边界,\w 代表任意一个字母、数字或下划线字符,+代表匹配前面的字符出现 1 次或多次。输入完正则表达式后,点击“查找下一个”或使用快捷键“F3”,Notepad 就会从当前光标位置开始查找符合条件的字符串了。 如果要替换符合条件的字符串,可以在“替换”栏中输入要替换的文本。同样,如果要使用正则表达式替换,需要勾选“使用正则表达式”。 例如,我们想将所有以“at”结尾的单词替换为“dog”,可以在“替换”栏中输入“dog”,然后点击“全部替换”或使用快捷键“Ctrl + H”。 比如我们要搜索以https://开头的并且以.com/结尾的字符串 正则表达式为: 开头字符串.+.结尾字符串 或者: 开头字符串.+结尾字符串 或者: 开头字符串.*结尾字符串 以下是一个使用正则表达式在 Notepad 中查找和替换文本的示例代码: 查找:$ Z5 O* m' R' J- Q( J8 P
1. 在查找对话框中输入正则表达式:\b\w+at\b L$ N3 _. _! p$ _
2. 勾选“使用正则表达式”
]# J4 J' J$ S4 i# B0 a8 \3. 点击“查找下一个”或使用快捷键“F3” \b:匹配单词的边界。 例,\b\w+bug\b 查找含有bug的行 查找所有的数字:
+ ]. V$ Z" o! g* n2 P9 K- 正则表达式:\d+
- 解释:匹配一个或多个连续的数字。# L' P& Z% |! `) m7 i- a" z
& U I8 j" T0 J
^ 匹配以*为开头的字符,不加括号*就为全局匹配符号$ z! C4 ~/ B" J) W
9 P# H" s8 O! V2 J/ n8 _. J- B
查找以 "apple" 开头的行:- q* e8 |# d) N& y
- 正则表达式:^apple.*
- 解释:以 "apple" 开头,后面可以有任意字符的行。
( a% G0 i# s( I
- h7 U" _) b% u* }, \2 a
5 `, o& U3 H" J4 W% t查找包含邮箱地址的文本:
9 }- m4 E! ^) K" w/ j9 E9 E* i- 正则表达式:\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b
- 解释:匹配常见的邮箱地址格式$ q0 c. E5 B% O1 j* Y
- \b: 表示单词的边界,确保匹配的电子邮件地址不包含在其他字符中。
- [A-Za-z0-9._%+-]+: 匹配一个或多个大小写字母、数字、点、下划线、百分号、加号和减号的字符,用于匹配电子邮件地址的用户名部分。
- @: 匹配电子邮件地址中的“at”符号。
- [A-Za-z0-9.-]+: 匹配一个或多个大小写字母、数字、点和破折号的字符,用于匹配电子邮件地址的域名部分(例如:example.com)。
- \.: 匹配一个点字符,用于分隔域名中的主机和顶级域。
- [A-Za-z]{2,}: 匹配两个或更多大小写字母的字符,用于匹配电子邮件地址的顶级域名部分(例如:com、net、org等)。
- \b: 再次表示单词的边界,确保匹配的电子邮件地址不包含在其他字符中。
8 ?9 i7 N" \7 I6 s0 v
) v7 z s- L$ n( u查找重复的单词:- 6 O1 K: d4 ?* E/ r L7 b* z
- 正则表达式:\b(\w+)\b.*\b\1\b
- 解释:匹配重复的单词(例如 "apple apple")( F. }$ i7 T' P+ L) j- V
9 ]: u9 ~& k& i& ]- w
以某一符号处分行: 比如,;替换为 /n或 /r/n 查找以“字符”结尾的行: 比如,条。$ 替换: 1. 在“替换”栏中输入要替换的文本,例如“dog” 2. 勾选“使用正则表达式” 3. 点击“全部替换”或使用快捷键“Ctrl + H” ^:匹配行的开头。 例,^[1] 匹配行首含有这个字符; ^11-14 匹配行首含有“11-14”字符串
. I/ _4 }, S0 v% R& S% l( f
- Z5 e! K% @) G) B% e, s1 `在Notepad++中去除空行的实用技巧7 r' K% t# h; i# ~& |
- o ]1 O+ g; k, C% d
1. 使用内置功能直接去除空行Notepad++内置了直接去除空行的功能,操作简单快捷。具体步骤如下: - 打开Notepad++并加载需要处理的文件。
- 点击菜单栏中的“编辑”(Edit)选项。
- 在下拉菜单中选择“行操作”(Line Operations)-> “移除空行”(Remove Empty Lines)。2 q5 ?2 T, N3 {
这一步骤将自动检测并删除文件中的所有空白行,包括那些仅包含空格或制表符的“伪空行”。 2. 利用正则表达式去除空行对于需要更精细控制空行删除的场景,可以使用正则表达式进行替换。Notepad++支持正则表达式的搜索和替换功能,可以灵活处理各种复杂的文本模式。 - 按下Ctrl + H快捷键打开“替换”对话框。
- 在“查找目标”(Find what)框中输入正则表达式^\s*$\r?\n。这个表达式匹配任何仅包含空白字符(包括空格、制表符等)或完全没有内容的行,以及可能的行尾换行符。
- “替换为”(Replace with)框保持为空。
- 勾选“正则表达式”(Regular expression)搜索模式。
- 点击“全部替换”(Replace All)按钮。
0 ?: z; a- o7 J; y" B G+ \8 x; V
请注意,正则表达式中的\s*匹配任意数量的空白字符,^和$分别表示行的开始和结束,\r?\n则匹配Windows系统中的换行符(\r\n),同时也兼容只包含\n的Unix/Linux系统换行符。 3. 借助TextFX插件去除空行TextFX是Notepad++的一个强大插件,提供了许多实用的文本处理功能,包括去除空行。如果尚未安装TextFX插件,可以通过Notepad++的插件管理器轻松安装。 - 打开Notepad++,点击菜单栏中的“插件”(Plugins)-> “插件管理”(Plugin Admin)-> “显示插件管理器”(Show Plugin Admin)。
- 在插件列表中找到TextFX并勾选,然后点击“安装”(Install)。
- 安装完成后,重启Notepad++。
- 现在,可以在菜单栏中找到TextFX插件的选项,依次点击“TextFX”-> “TextFX Tools”-> “Delete Blank Lines”即可去除空行。8 |( B/ T7 X. c
: s5 r: }/ w& r2 H! ], a, X
: v7 E) A4 f# d; _& z
4 z4 L2 x+ l+ f( N8 O: a: v, {! s
替换:[来源请求]为空格
5 ]6 r; ~& p1 M8 k$ V\[来源请求\]
2 Q% \7 O/ z2 [) q, @/ P v7 m6 W: x; g2 ~' C- u
替换:[编辑]为空格
1 s7 y& n: A" k" J- O; ~\[编辑\]( Z& F+ t2 Q6 H4 d& N
6 @, T2 a2 D5 Y- E- Q4 F, v K& }
替换:[一位数]为空格
g8 m/ P) m* ]/ L\[[0-9]\]
' Y4 a' g2 Z+ h0 v" D) ~" ^- s3 D3 H' r( u
替换:[两位数]为空格
3 j, L. r$ O: |6 w& e\[[0-9][0-9]\]
* _- L- }, c: d5 o% k7 I: _* p8 f h8 E
替换:[三位数]为空格
|- a" O& m" g+ B\[[0-9][0-9][0-9]\]
" g; i; ~/ A; n5 I. z4 j
* y; R% q- I& R1 a2 g% K3 z替换:[注 3]为空格! o; C3 W( r$ Y# M8 N/ [* u# x4 Y5 Q
\[注 [0-9]\]
4 G5 A0 L0 P1 m# T' f5 ^- i. W
2 S7 o \+ R$ H! e' H替换:[字母]为空格% m' y; k4 Q; a+ n
\[[a-z]\]
3 M" a* v- P3 y* g1 P6 x) Q0 A* H; E, y4 e' D9 j2 K; D
\d' \" H/ J! ]) Z+ ?; j$ V
代表任意一个数字,等价于 [0-9]
1 m7 _! F/ M6 a# f! J. D\D, W0 `- t5 l& z" P& G
代表任意一个非数字字符,等价于 [^0-9]$ z, G7 I' B3 K6 P5 T( b* W+ ^
\w
/ ]* F" v! Z9 O代表任意一个字母、数字或下划线,等价于 [a-zA-Z0-9_]
- b/ ^/ i4 f9 E4 X- {5 D: b\W; w# G7 m ^6 ?) r2 @
代表任意一个非字母、数字或下划线字符,等价于 [^a-zA-Z0-9_]
& t! P0 B$ o! h ?4 k$ k8 N\s) k( M2 q" [: g' S9 H
代表任意一个空白字符,包括空格、制表符、换行符等$ I. |" ?0 s* f( s2 S% t
\S
$ J: p7 N, l1 k2 f* G/ w" o代表任意一个非空白字符1 N+ V4 ]# K" x
, k P3 d7 e8 M5 e5 h& n! v
' ~2 a: B: w5 Q2 {! C4 H( P |