【发布时间】:2016-03-01 04:12:20
【问题描述】:
情况是这样的:
str='myfile.#.#####-########.ext'
我想用数字替换 # :456 所以应该是:
str = 'myfile.456.00456-00000456.ext'
第二种情况:
str= 'myfile.%012d.tga'
将模式替换为数字 456,使其变为:
str= 'myfile.000000000456.tga'
我可以使用字符串替换方法来解决这个问题,方法是抓取模式然后计算数字然后用零填充填充。现在,我想知道如何在 python 中使用正则表达式?任何人都可以帮忙吗?非常感谢。
【问题讨论】:
-
regex101.com 。在那里玩正则表达式。这是一个很棒的网站。
-
从替换的类型猜测,也需要一些编程。不太可能由正则表达式单独完成。
-
##,###的情况如何? -
@AvinashRaj:应该分别是
0456和00456。 -
@AvinashRaj :这就是我所期待的:如果使用 ## & ### 。它应该是 456 和 456。如果 #digit 小于数字,它将被忽略。如果 #digit 更高,那么它将用 '0' 填充标题 # 。所以#### 将是 0456。