考慮一個字符串django-1.8.0.dist-info
。我希望使用re.sub
將其轉換爲django==1.8.0
。python re.sub如何使用它
我可以使用re.search
和.format
的組合,但我想知道是否可以用re.sub
來實現。
我嘗試這樣做:
re.sub(r"(?P<name>\w+)-(?P<version>[\d\.]+)", "\g<name>==\g<version>", "django-1.8.0.dist-info")
返回django==1.8.0.dist-info
。
我想借此機會學習正則表達式的新東西。
Thanx爲ans。你能幫我理解re.sub的本質嗎?爲什麼它也取代了非捕獲組。我認爲它只會取代被俘的組織。 – learner010 2015-03-31 06:12:45
@ learner010're.sub'匹配您給出的所有內容,並且只替換該部分。因此,如果要替換它,必須匹配整個字符串。您匹配部分字符串,然後替換,以便它將僅替換該部分 – vks 2015-03-31 07:03:35