我刚刚学习和使用正则表达式的动力性格实例 我从os.walk()
返回的文件的元组列表,像这样:正则表达式替换基于模式或分隔符
files = ('s8_00.tif', 's9_00.tif', 's10_000.tif', 's11_00.tif')
我想得到它看起来像这样:
files = ('s8_##.tif', 's9_##.tif', 's10_###.tif', 's11_##.tif')
我试图使用这个。
pad2 = re.compile(r'_00?')
for root, dirs, files in seqDirs:
pad = files[0]
p = pad2.sub("#", pad)
print p
这将返回:
p = ('s8#.tif', 's9#.tif', 's10#0.tif', 's11#.tif')
所以我改变了表达绕到:
pad2 = re.compile('(_)0+')
给我:
p = ('s8#.tif', 's9#.tif', 's10#.tif', 's11#.tif')
是我p = pad2.sub
功能的问题?或者是我的编译表达式中存在问题?或者这是"_"
在表达,它是在搞砸了吗?
我甚至试过在pad2.sub
函数中传递一些表达式来测试它,当然这并没有真正起作用。我知道我在这里错过了一些小东西,而且我有点卡住了。
随着逻辑的解释,任何和所有的帮助将不胜感激。
真棒,非常感谢,这绝对是一个很酷的功能。我可以看到这个很棒的扩展性。 –