Regex 正则表达式查找/替换记事本++;
我有一个巨大的文本文件,上面有这样的行:Regex 正则表达式查找/替换记事本++;,regex,notepad++,Regex,Notepad++,我有一个巨大的文本文件,上面有这样的行: 080012;Bovalino;RC;CAL;0964;89034;B098;9021;http://www.website-most.en/000/000/ 我只想摘录: 080012;***Bovalino***;***RC***;CAL;***0964***;***89034***;B098;9021;http://www.website-most.en/000/000/ 并删除所有其他文本 这可以通过正则表达式实现吗?您可以捕获要保留的内容,
080012;Bovalino;RC;CAL;0964;89034;B098;9021;http://www.website-most.en/000/000/
我只想摘录:
080012;***Bovalino***;***RC***;CAL;***0964***;***89034***;B098;9021;http://www.website-most.en/000/000/
并删除所有其他文本
这可以通过正则表达式实现吗?您可以捕获要保留的内容,并在替换字符串中使用反向引用:
Find what: ^\d*;(\w*;\w*);\w*;(\d*;\d*).*
Replace with: \1;\2
并确保你做了而不是勾选。匹配换行符
选项
使用记事本++6,您还可以使用$1$2
用于替换(具有相同含义)
如果不同的字段可能包含各种字符,而不仅仅是数字和字母,那么这可能是您最好的选择:
Find what: ^[^;]*;([^;]*;[^;]*);[^;]*;([^;]*;[^;]*).*
将所有行替换为1美元$2:(@Luca确保你已经更新到Notepad++6,他们在那里更改了很多正则表达式的内容。否则,请尝试
\1;\2
一些没有的将被替换:/@Luca那么我猜它们有不同的格式。它们看起来像什么?例如,这不会被替换:052001;Abbadia San Salvatore;SI;TOS;0577;53021;A006;6722;