我剛剛學習和使用正則表達式的動力性格實例 我從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
函數中傳遞一些表達式來測試它,當然這並沒有真正起作用。我知道我在這裏錯過了一些小東西,而且我有點卡住了。
隨着邏輯的解釋,任何和所有的幫助將不勝感激。
真棒,非常感謝,這絕對是一個很酷的功能。我可以看到這個很棒的擴展性。 –