我想在TextPad中使用正则表达式替换增量编号。我有下面的代码,我想在标签<EndToEndId>
和</EndToEndId>
之间增加数字,数字应该保持8位。
<PmtId>
<EndToEndId>80000001</EndToEndId>
</PmtId>
<PmtTpInf>
<Prtry>PM</Prtry>
</PmtTpInf>
<PmtId>
<PmtId>
<EndToEndId>80000002</EndToEndId>
</PmtId>
<PmtTpInf>
<Prtry>PM</Prtry>
</PmtTpInf>
<PmtId>
......
<PmtId>
<EndToEndId>800000010</EndToEndId>
</PmtId>
<PmtTpInf>
<Prtry>PM</Prtry>
</PmtTpInf>
<PmtId>
我尝试自己提出解决方案,但是在80000009之后,它给出的是800000010,即9位数字。
我在TextPad的查找和替换选项中提供了以下正则表达式。
查找内容:(<EndToEndId>).*?(</EndToEndId>)
替换为:(<EndToEndId>)\i(</EndToEndId>)
我使用Notepad++ incrementally replace中的Notepadd ++在Stackoverflow上搜索了类似的解决方案
但是当还有其他标签,例如<PmtId>, <PmtTpInf>
我已经尝试了很多,现在问Stackoverflow,请您帮我解决这个问题。谢谢。
答案 0 :(得分:1)
做两遍。
您当前正在执行的第一遍,结果如下:
80000001
80000009
800000010
800000099
8000000100
8000000999
然后第二遍更正长度:
Search: 80+(\d{6})\b
Replace: 8$1
从上述示例中间输出中得出以下结果:
8000001
8000009
8000010
8000099
8000100
8000999