UltraEdit正则表达式替换数字,让每个数字都加1000怎么做

UltraEdit正则表达式替换数字,让每个数字都加1000怎么做
替换
STRING 1
STRING 2
STRING 3
...
STRING 1100
变成
STRING 1001
STRING 1002
STRING 1003
...
STRING 2100

Perl规则

单纯用Perl的正则替换的话,好像只有这么做(需要4种手动替换,共5次):

1. 对于1位的数字加上1000,就在数字前面添上100:

Find What: (<[0-9]{1}>)
Replace With: 1001

2. 2位数字加上1000,就在数字前面填上10

Find What: 正巧(<[0-9]{2}>)
Replace With: 101

3. 3位数字加上1000,就在数字前面填友缺上1

Find What: (<[0-9]{3}>)
Replace With: 11

4. 4位数字以1开头的把第一个1变成2,以2开头的把第一个2变成3

Find What: <1([0-9]{3})
Replace With: 21
Find What: <2([0-9]{3})
Replace With: 31

 强烈举告键推荐 vim 编辑器。

用 vim 的正则替换,仅需这样即可完成所有的工作:

:%s/d+/=submatch(0)+1000/g

首先在空白位置写下1000,然后复制,使用选择性粘贴中的加,就行了。
纯正则没法做,可以正则匹配提取,结合程序来做。
← 上一篇: 下一篇: →