Notepad++通过正则提取字符串

最近用go撸了个工具并发查询2字拼音+3字字母的可用域名,碰上一个小问题,需要从文本中提取所有3个字母的英文单词,然后进行提取,如:

不固定的;带零头的,余的 opt vi.抉择,选择 ore n. 矿石,矿砂 owe v. 欠(债等),应向……付出;得感谢,(to)应归功于…… owl n. 猫头鹰 pad n. 垫,衬垫;便笺簿;拍纸簿 v. 填塞 pan n. 平底锅,盘子 pat v./n. 轻拍,轻打,抚摸 paw n. 爪 pay v. 支付,付出;给予(注意);值得;进行(访问等) n. 工资,薪金 pea n. 豌豆 pet n. 爱畜,宠儿 a. 宠爱的,表示亲昵的 pie n. 馅饼 pin n. 钉,销,栓;大头针,别针,徽章 v.(up)钉住,别住

想直接在notepad++上进行处理,所以正则的写法必然是
[a-z]{3}
1

基本能满足我的匹配要求,但是我需要提取,最好能像下面这个样子:

ban,bao,bei,ben,bie,bin...
1

查阅了一下资料,基本解决我的问题:

使用正则表达式的标记,通过()来包围想要用的字符,然后用\1 来替换字符串,第一个匹配文本。

例如:

Text body Search string Replace string Result
Hi my name is Fred my name is (.+) my name is not \1 Hi my name is not Fred
The quick brown fox jumped over the fat lazy dog brown (.+) jumped over the (.+) brown \2 jumped over the \1 The quick brown fat jumped over the fox lazy dog

于是我进行了下面的操作

把所有匹配到的 XXX 替换为 \nXXX ,在所有单词前面加一个回车,然后再用Alt键手动删去多余文字即可 img1001

最后,再将获取到的分行,将**\n替换为,**
result

结果

oak,odd,opt,ore,owe,owl,pad,pan,pat,paw,pay,pea,pet,pie......

上次更新: 2019-6-29 09:35:04