notepad++ 正则表达式

在 Notepad++ 中,正则表达式(Regular Expressions, Regex) 是一个强大的搜索和替换工具,可以高效地处理文本。以下是 Notepad++ 正则表达式 的指南:


1. 如何在 Notepad++ 中使用正则表达式

  1. 打开搜索窗口

    • 快捷键 Ctrl + F(查找)或 Ctrl + H(替换)。

  2. 选择正则表达式模式

    • 在搜索窗口底部,选择 "正则表达式"Regular expression)选项。

  3. 输入正则表达式

    • 在搜索框输入你的正则表达式,点击 "查找" 或 "替换"


2. 常用正则表达式语法

基本匹配

表达式 说明 示例
. 匹配任意单个字符(换行符除外) a.c → abcaac
^ 匹配行首 ^Hello → 匹配行首的 Hello
$ 匹配行尾 end$ → 匹配行尾的 end
\ 转义特殊字符 \. → 匹配 .(而不是任意字符)

字符类

表达式 说明 示例
[abc] 匹配 ab 或 c [aeiou] → 匹配任意元音
[^abc] 匹配  abc 的字符 [^0-9] → 匹配非数字
[a-z] 匹配小写字母 [a-z] → ab, ..., z
[A-Z] 匹配大写字母 [A-Z] → AB, ..., Z
[0-9] 匹配数字 [0-9] → 01, ..., 9
\d 匹配数字(同 [0-9] \d\d → 1234
\w 匹配字母、数字或下划线 \w+ → abcvar_1
\s 匹配空白字符(空格、制表符等) \s+ → , \t

量词(匹配次数)

表达式 说明 示例
* 匹配 0 次或多次 a* → ""aaa
+ 匹配 1 次或多次 \d+ → 1123
? 匹配 0 次或 1 次 colou?r → colorcolour
{n} 匹配恰好 n 次 a{3} → aaa
{n,} 匹配至少 n 次 \d{2,} → 12123
{n,m} 匹配 n 到 m 次 a{2,4} → aaaaaaaaa

分组与捕获

表达式 说明 示例
( ) 分组,可在替换时引用 (abc)+ → abcabcabc
\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++ 中高效处理文本!如果需要更复杂的匹配,可以尝试组合使用分组、量词和预查功能。

转载请说明出处内容投诉
CSS教程网 » notepad++ 正则表达式

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买