[英]Notepad ++ Regular Expression Replacement
我有一个很大的XML文件,应该修改标签。
原版的:
<MyTag>13/19/59/70/68/32'</MyTag>'
我想要的正则表达式:
<MyTag>13,19,59,70,68,32</MyTag>
如果我每次都得到相同数量的数字,那很容易,但是我可以有8个数字或5或6个或更少的数字。
我要如何一次完成?
正如评论中已经指出的那样,Notepad ++的正则表达式似乎不够强大,无法进行替换。 在一般情况下,我不认为裸正则表达式替换不是该更换足够强大,你最多只能得到13/19/59/70/68/32
在捕获组,并执行/
来,
更换上用其他方式串起来。 这就是为什么也许我会考虑使用您精通的其他工具(perl,java等)代替的原因。
使用notepad ++,我将首先进行常规替换,将所有出现的'</MyTag>'
更改为</MyTag>
,然后使用此正则表达式(\\d+)/
进行正则表达式替换。 替换应为\\1,
单击全部替换应替换所有出现的内容。
如果要避免替换其他标签中用/
分隔的数字,则可以使用此正则表达式<MyTag>(.*)(\\d+)/(.*)</MyTag>
并将其替换为<MyTag>\\1\\2,\\3</MyTag>
。 该替换将必须执行N次,因此,如果您想使用它,可能会对录制宏或类似内容感兴趣。
一个REGEXP即可完成。
搜索:
/([0-9]+)('(<){1}/(MyTag>){1}')?
用。。。来代替:
,\1\3\4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.