Моя дилемма: я передаю свою функцию строку, в которой мне нужно выполнить многочисленные манипуляции с регулярными выражениями. Логика - это совпадение в первом регулярном выражении, сделайте одно. Если нет совпадения, проверьте совпадение со вторым и сделайте что-нибудь еще, если не проверьте третий, и так далее. Я мог бы сделать что-то вроде этого:
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.]
Однако это кажется излишне подробным, и обычно, когда это дело, это означает, что лучший способ, который я либо игнорирую, либо еще не знаю.
Есть ли у кого-нибудь предложение для лучшего способа сделать это (лучше с точки зрения внешнего вида кода, точки использования памяти или обоих)?