好的,所以我需要知道的是什么,目前我正在一次搜索多个单词,这是一些样本数据
(\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
是否有正则表达式只能获得匹配单词的结尾?
答案 0 :(得分:1)
我建议使用一个只有两个单词边界的交替列表 - 在模式的开头和结尾,只有一个组:
\b(?:Rd|Terrace|St|Ave|Street)\b
并替换为$0:
(其中$0
backreference引用整个匹配项,如果模式匹配Rd
,则会在结果中插入Rd
字符串)。
请注意,我们只能使用2 \b
,因为它们包含了交替非捕获组(?:...)
,因此适用于每个替代方案。它缩短了正则表达式并加快了速度。
答案 1 :(得分:0)
您所要做的就是将正则表达式更改为:
((\bACCESS\b)|(\bAccs\b)|(\bALLEY\b)|(\bAlly\b)|(\bALLEYWAY\b))
然后替换为:\1: