Notepad++常用的正则表达式替换

2024年06月12日 - 阅读需时: 53 分钟

Notepad++ 是一个非常流行的文本编辑器,支持正则表达式(Regular Expression,简称 regex)的搜索和替换功能。在使用正则表达式进行替换时,有一些常见的替换模式和语法特别有用。以下是一些常用的正则表达式替换例子及其解释:

1. 替换所有数字

  • 查找\d+

  • 替换为#

  • 说明\d 匹配任意数字,+ 表示匹配一个或多个。这个正则表达式会将所有数字替换为 #

2. 替换所有单词

  • 查找\w+

  • 替换为WORD

  • 说明\w 匹配任意字母、数字或下划线,+ 表示匹配一个或多个。这个正则表达式会将所有单词替换为 WORD

3. 删除行首或行尾的空白字符

  • 查找^\s+|\s+$

  • 替换为:``

  • 说明^\s+ 匹配行首的一个或多个空白字符,\s+$ 匹配行尾的一个或多个空白字符。使用这个正则表达式可以删除每行首尾的空白字符。

4. 替换连续的空行

  • 查找\n{2,}

  • 替换为\n

  • 说明\n{2,} 匹配两个或更多的换行符,替换为一个换行符,可以用来删除多余的空行。

5. 替换邮箱地址中的域名

  • 查找([a-zA-Z0-9._%+-]+)@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

  • 替换为$1@newdomain.com

  • 说明:这个正则表达式匹配邮箱地址,并将其域名部分替换为 newdomain.com$1 表示第一个捕获组,即 @ 前的部分。

6. 替换带括号的内容

  • 查找\((.*?)\)

  • 替换为[REPLACED]

  • 说明\((.*?)\) 匹配小括号内的任意字符,(.*?) 表示非贪婪模式匹配任意字符。这个正则表达式会将括号内的内容替换为 [REPLACED]

7. 替换 HTML 标签

  • 查找<[^>]+>

  • 替换为:``

  • 说明<[^>]+> 匹配 HTML 标签,[^>] 表示除了 > 以外的任意字符,+ 表示匹配一个或多个。这个正则表达式会删除所有 HTML 标签。

8. 在每行行尾添加字符

  • 查找$

  • 替换为<YourText>

  • 说明$ 匹配行尾。这个正则表达式会在每行的末尾添加指定的文本 <YourText>

9. 将两个单词之间的空白字符替换为单个空格

  • 查找\s+

  • 替换为:``

  • 说明\s+ 匹配一个或多个空白字符,将其替换为单个空格。

10. 替换带特定前缀的字符串

  • 查找prefix(\w+)

  • 替换为newprefix$1

  • 说明prefix(\w+) 匹配以 prefix 开头的字符串,并捕获后面的单词部分。$1 表示捕获的单词部分,这个正则表达式将前缀 prefix 替换为 newprefix

11. 删除奇数行

  • 查找^(.*\R?)(.*\R?)?

  • 替换为$2

  • 说明

    ^(.*\R?)(.*\R?)?
    • ^:匹配行的开头。

    • (.*\R?):匹配一行的所有字符(包括换行符)。

    • (.*\R?)?:匹配下一行的所有字符(包括换行符),这个部分是可选的,因为文件可能有奇数行。

    $2
    • $2:在替换中保留第二个捕获组(即偶数行)。第一个捕获组是奇数行,会被删除。

12. 删除偶数行

  • 查找^(.*\R?)(.*\R?)?

  • 替换为$1

  • 说明

    ^(.*\R?)(.*\R?)?
    • ^:匹配行的开头。

    • (.*\R?):匹配一行的所有字符(包括换行符)。

    • (.*\R?)?:匹配下一行的所有字符(包括换行符),这个部分是可选的,因为文件可能有奇数行。

    $1
    • $1:在替换中保留第一个捕获组(即奇数行)。第二个捕获组是偶数行,会被删除。

这些是一些常见的正则表达式替换示例,实际使用中可以根据具体需求进行调整和组合。Notepad++ 的正则表达式功能强大,可以高效地处理文本数据。

USBEY

Daily learning leads to thoughtful reflection, thoughtful reflection sparks dreams, and dreams pave the way for accomplishments.