记事本++正则表达式

Notepad ++ Regular Expressions

记事本++替换多个单词

好的,这就是我需要知道的,目前我正在一次搜索多个单词,这里是一些示例数据

(\bACCESS\b)|(\bAccs\b)|(\bALLEY\b)|(\bAlly\b)|(\bALLEYWAY\b)

我想做的是在找到的每个单词的末尾添加一个“:”。像这样

41 dwadadad Rd:
93 awdawdadawd Terrace:
4/100 awdadawdwad St:
32 awdawdawdawd Ave:
59 awdawdawd Street: Ferny Grove

是否有只获取匹配词结尾的正则表达式?

您只需将正则表达式更改为:

((\bACCESS\b)|(\bAccs\b)|(\bALLEY\b)|(\bAlly\b)|(\bALLEYWAY\b))

然后替换为::

我建议使用只有两个单词边界的交替列表 - 在模式的开头和结尾,并且只有一组:

\b(?:Rd|Terrace|St|Ave|Street)\b

并替换为 [=11=]:(其中 [=12=] backreference 引用整个匹配项,如果模式匹配 Rd,则 Rd 将被插入结果字符串)。

请注意,我们可以使用 2 \b 只是因为它们包含交替非捕获组 (?:...),因此应用于每个替代方案。它缩短了正则表达式并加快了速度。