如何获取捕获组的计数并将其替换为我指定的相同数量的字符?
例如这里有一个字符串...
123456789ABCD00001DDD
我的带有捕获组的正则表达式如下...
^([123456789]{9})([ABCD]{1,4})([0]{1,5})([0-9]{1,5})([D ]*)$
当我使用 Notepad++ 之类的东西时,我想找到上面的内容并将其替换为...
\1\2\4\5
让最终结果看起来像...
123456789ABCD 1DDD
最佳答案
您可以将此正则表达式与 \G
和正面前瞻结合使用:
(?:^([1-9]{9}[ABCD]{1,4})(?=0{1,5}\d{1,5}D*$)|\G)0
\G
断言位置在前一个匹配的末尾或第一个匹配的字符串的开头。
关于regex - 如何获取捕获组的计数然后用特定字符替换字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59667127/