小编Alb*_*do0的帖子

Python正则表达式和捕获组中的前导0

我正在用 python 3 编写一个脚本来自动重命名文件。但我对正则表达式中捕获的组有疑问。

我有这些类型的文件:

test tome 01 something.cbz
test tome 2 something.cbz
test tome 20 something.cbz
Run Code Online (Sandbox Code Playgroud)

我想要:

test 001 something.cbz
test 002 something.cbz
test 020 something.cbz
Run Code Online (Sandbox Code Playgroud)

我尝试了几段代码:

示例1

name = re.sub('tome [0]{0,1}(\d{1,})', str('\\1').zfill(3), name)
Run Code Online (Sandbox Code Playgroud)

结果是:

test 01 something.cbz
test 02 something.cbz
test 020 something.cbz
Run Code Online (Sandbox Code Playgroud)

示例2

name = re.sub('tome (\d{1,})', str('\\1').lstrip("0").zfill(3), name)
Run Code Online (Sandbox Code Playgroud)

结果是:

test 001 something.cbz
test 02 something.cbz
test 020 something.cbz
Run Code Online (Sandbox Code Playgroud)

python regex python-3.x

9
推荐指数
1
解决办法
126
查看次数

标签 统计

python ×1

python-3.x ×1

regex ×1