Notepad++ 正则表达式

本文详细介绍了Notepad++中使用正则表达式的查找与替换功能,包括如何查找特定模式的行以及如何进行高效替换,提供实用技巧帮助用户提高编辑效率。

 

Notepad++是一款功能很强大的编辑器. 

在此将一些常用到的正则表达式记录下来, 以后好用.

 

查找

^abc                     查找以abc开始的所有行

^abc.*target.*$    查找以abc开始中间含有target的所有行

abc$                      查找以abc结尾的所有行

 

替换

^(.)     target/1      在行首添加target

/r/n     target/r/n    在行首添加target, 除第一行外. (需要选择扩展模式)

(.)$     /1target       在行未添加target

/r/n     /r/ntarget    在行未添加target  (需要选择扩展模式)

^(/d)    /1/1           重复行首的数字

(/d)$    /1/1           重复行未的数字

^(.*)    /1/1           重复整行的内容

(.+) /1  /1              删除相邻的重复的内容

/n/r                       去掉空行

空行模式是[/r/n/]+ 即/r/n../r/n, 被/n/r替换为空后就剩第一个/r和最后一个/n 即/r/n, 这样去掉了所有的空行. (需要选择扩展模式)

 

补充

(.*)/r/n/1     /1       删除相邻重复的行, 在Notepad++ 中不支持, 用UE还行.

 

 

Author:David   

 

### 解决 Notepad++正则表达式替换失败的方法 当遇到 Notepad++正则表达式替换不成功的情况时,通常是因为编码设置不当或正则表达式的写法不符合预期。为了确保正则表达式能够正常工作,在操作之前应先确认文件的编码格式已正确转换为 UTF-8[^1]。 #### 文件编码转换 在执行任何基于字符集的操作前,建议将文档保存并转换为无 BOM 的 UTF-8 编码。具体步骤如下: 1. 打开目标文件; 2. 选择菜单栏中的 **“编码”** -> **“转为 UTF-8 编码 (without BOM)”** 或者直接点击状态栏上的当前编码选项进行切换; 这样做的目的是为了避免因不同编码方式下相同字符的不同表示形式而导致匹配错误。 #### 使用正确的正则表达式语法 对于特定场景下的字符串匹配,比如中文字符范围内的查找与替换,应该采用适合该语言环境的正则表达式模式。例如,要匹配所有的汉字,可以使用 `[\x{4e00}-\x{9fa5}]` 这样的 Unicode 属性类来定义[^2]。 另外需要注意的是,“.” 符号默认情况下不会匹配换行符 `\n` 。如果希望它能跨越多行,则需指定相应的修饰符或将 “.” 改为 `[.\s\S]` 来代替[^3]。 #### 实际案例分析 假设有一个列表包含了多个景点名称及其编号,并希望通过正则表达式去除这些数字标签。原始数据如下所示[^4]: ```plaintext 11龙门石窟,12云冈石窟,13敦煌莫高窟,... ``` 此时可利用以下正则表达式来进行批量处理: ```regex \d+(?=([^\d]*)) ``` 此表达式的含义是从左至右寻找连续的一串数字(即景点前面的序号),并且后面紧跟着非数字的内容。找到后将其替换成空字符串即可达到目的。 通过上述调整和优化后的配置参数以及合理的正则表达式编写习惯,可以在很大程度上提高 Notepad++正则表达式工作的成功率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值