需要正则表达式的帮助来进行多次替换

Need help on a regexp to do multiple replacements

我需要一个正则表达式来去除三个字母 (ACC) 并根据单个表达式中具有 00X 的输入添加前面的 0。

Input            Output
ACC00977810916   000977810916
ACC000977220916  000977220916 
ACC001077330916  001077330916

一直在尝试使用捕获组,但无法获得我需要的东西。使用 Microsoft vbscript 5.5。 感谢您的帮助!

如果你想根据字符串的长度来决定是否添加0并且你必须使用正则表达式,你可以尝试这样的事情:

^ACC0?(?=\d{11}$)

..并替换为 0.

Demo.

没有 Lookahead 的解决方案:

^ACC0?(\d{11})$

..并替换为 0.

Demo.

对每个可能的输入长度进行单独替换:

^ACC(\d{10})$ => 00
^ACC(\d{11})$ => 0
^ACC(\d{12})$ =>