首先,我是新來的正則表達式。但到目前爲止,我愛上了他們。我正在使用正則表達式從我從渲染引擎獲取的圖像文件名稱中提取信息。到目前爲止,這正則表達式是工作體面......蟒蛇正則表達式給出空字符串
_([a-z]{2,8})_?(\d{1,2})?(\.|_)(\d{3,10})\.([a-z]{2,6})$
如果我使用split()方法上的一個文件名,如...
image_file_name_ao.0001.exr
我回來我可以使用的漂亮的小列表...
['image_file_name', 'gi', None, '.', '0001', 'exr', '']
我唯一擔心的是它總是最後返回一個空字符串。無論我如何更改或操縱正則表達式,它總是在列表的末尾給我一個空字符串。我完全理解忽略它並繼續前進,但我的問題是我是否正在使用我的正則表達式做錯了什麼,或者我能做些什麼來使它不傳遞最終的空字符串?感謝您的時間。
見我的答案 請問你的問題。但是爲什麼你想使用''re.split''而不是捕獲組,就像在Katzwinkel的回答中那樣? - 順便說一下,爲什麼不在「(\ d {1,2})?」和最後一個點之前分組捕獲潛在的不良內容? – eyquem 2013-02-28 22:08:50