用于在 TextPad 中按递增顺序替换数字的正则表达式
Regular expression to replace number in increment order in TextPad
我想在 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 的 Find And Replace 选项中提供了以下正则表达式。
查找内容:(<EndToEndId>).*?(</EndToEndId>)
替换为:(<EndToEndId>)\i(</EndToEndId>)
我使用来自 Notepad++ incrementally replace 的 Notepadd++ 在 Whosebug 上搜索了类似的解决方案
但当有 <PmtId>, <PmtTpInf>
等其他标签时,它不会给出增量数字
你能帮我解决这个问题吗,因为我自己尝试了很多,现在在 Whosebug 上提问。谢谢你。
做两遍。
您目前正在做的第一遍,产生的结果如下:
80000001
80000009
800000010
800000099
8000000100
8000000999
然后第二遍修正长度:
Search: 80+(\d{6})\b
Replace: 8
从上述示例中间输出中产生以下结果:
8000001
8000009
8000010
8000099
8000100
8000999
我想在 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 的 Find And Replace 选项中提供了以下正则表达式。
查找内容:(<EndToEndId>).*?(</EndToEndId>)
替换为:(<EndToEndId>)\i(</EndToEndId>)
我使用来自 Notepad++ incrementally replace 的 Notepadd++ 在 Whosebug 上搜索了类似的解决方案
但当有 <PmtId>, <PmtTpInf>
你能帮我解决这个问题吗,因为我自己尝试了很多,现在在 Whosebug 上提问。谢谢你。
做两遍。
您目前正在做的第一遍,产生的结果如下:
80000001
80000009
800000010
800000099
8000000100
8000000999
然后第二遍修正长度:
Search: 80+(\d{6})\b
Replace: 8
从上述示例中间输出中产生以下结果:
8000001
8000009
8000010
8000099
8000100
8000999