我的兩難:我將我的函數傳遞給我需要的字符串,然後在其上執行大量的正則表達式操作。邏輯是,如果第一個正則表達式匹配,則執行一件事。如果不匹配,檢查與第二個匹配,並做其他事情,如果不檢查第三個,等等。我可以做這樣的事情:如何通過Python中的多個正則表達式簡潔級聯
if re.match('regex1', string):
match = re.match('regex1', string)
# Manipulate match.group(n) and return
elif re.match('regex2', string):
match = re.match('regex2', string)
# Do second manipulation
[etc.]
然而,這種感覺不必要的冗長,而且通常當那樣的話就意味着有更好的方式,我可以俯瞰或還不知道。
有沒有人有一個更好的方式來做到這一點(從代碼外觀的角度來看,內存使用的立場,或兩者兼得)的建議?
Dupicate:HTTP:/ /stackoverflow.com/questions/122277/how-do-you-translate-this-regular-expression-idiom-from-perl-into-python – 2009-02-28 12:11:47