如何用Notepad++正则捕获字符串首词并替换所有逗号?
没问题!在Notepad++里用正则表达式完全可以搞定这个需求,我给你一步步说怎么操作:
具体操作步骤
- 打开Notepad++并打开你的目标文本,按下
Ctrl+H调出替换对话框。 - 在「查找模式」里选择「正则表达式」,不要勾选「.匹配换行符」(因为你的原字符串是单行的)。
- 填入以下正则内容:
- 查找内容:
(^"[^"]+")|(\G(?!^)),'([^']+)' - 替换为:
(?1$1:\n$1,'$3')
- 查找内容:
- 点击「全部替换」,就能得到你想要的结果了!
正则规则拆解
我给你解释下每个部分的作用,方便你理解和调整:
(^"[^"]+"):捕获行首的第一个双引号包裹的内容(也就是你的somename),把它存为「组1」。^锁定行首,"[^"]+"精准匹配双引号内的所有字符(直到下一个双引号结束)。|:逻辑「或」,用来分隔两种匹配场景。(\G(?!^)),'([^']+)':\G表示从上一次匹配结束的位置继续查找,(?!^)确保不会重复匹配行首的内容;后面的, '([^']+)'匹配逗号加单引号包裹的内容,把单引号里的内容存为「组3」。- 替换规则
(?1$1:\n$1,'$3')是个条件替换:如果匹配到了「组1」(也就是第一个首词),就直接输出它;如果匹配的是后面的项,就输出换行符+组1的内容+逗号+组3的内容,这样就把每个后续项单独拆成一行并带上首词了。
亲测在Notepad++ v7.5.6里完全可用,你试试就知道啦!
内容的提问来源于stack exchange,提问作者Phil_in_Tx
相关产品推荐
相关产品推荐

