notepad++正则表达式查找替换应用

notepad++正则表达式查找替换应用

    • 基本表达
    • 应用举例
        • 例子01 将行中数字重复
        • 例子02 章节标题前加空行
        • 例子03 去掉行尾的注释
        • 例子04 匹配括号中的内容(或者各种成对符号中的内容)

基本表达

匹配表达 含义
. 匹配除了 \n 以外的任意一个字符 (可以匹配 \r)
() 定义一个匹配区域,该区域匹配的内容可以用标签 \1 \2 按照顺序使用,这些标签可以用在当前表达式,也可以用在替换表达式。( \1 表示第一个匹配内容,\2表示第二个,以此类推)
[] 匹配字符集中的一个字符,[a-z] 匹配一个小写字母,[0-9]匹配一个数字,[A-Za-z]匹配一个字母,[0-9A-Za-z]匹配一个字母或数字
[^] 字符补集中的一个字符,[^A-Za-z}表示一个非字母的字符
{n} 匹配 n次
{n,} 匹配至少 n 次
{n,m} 匹配 n 次到 m 次 ( n < m)
* 匹配0次到多次
+ 匹配一次到多次
? 匹配0次或1次
^ 从一行的开始匹配
$ 从行尾开始匹配

更多可参看

应用举例

例子01 将行中数字重复

原文:12345 abcdefgh
查找: ([0-9])
替换: \1\1
结果:1122334455 abcdefgh

例子02 章节标题前加空行

原文:

《红楼梦》第七十回 林黛玉重建桃花社 史湘云偶填柳絮词

查找: (第.{1,8}[回])
替换: \n\n \1
结果:

《红楼梦》

    第七十回 林黛玉重建桃花社 史湘云偶填柳絮词 
例子03 去掉行尾的注释

原文:

import socket
ip_port = ('192.168.1.128',5025)   #链接服务端ip和端口
s1 = socket.socket()   # 生成一个socket对象
s1.connect(ip_port)    # 请求连接服务端

查找: #.*
替换:
结果:

import socket
ip_port = ('192.168.1.128',5025)   
s1 = socket.socket()   
s1.connect(ip_port)    
例子04 匹配括号中的内容(或者各种成对符号中的内容)

原文:

 123445 {abcdefg} 

查找: {[^}]*}
----- 其中 [^}] 表示字符串中间不能出现 } , 即有括号 } 只出现第一次

替换: ---
结果:

 123445 ---

类似的可以匹配 第[^回]*回 第[^章]*章

你可能感兴趣的:(编辑器,notepad++,正则表达式,windows)