用于在 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