Есть ли в Python способ доступа к группам совпадений без явного создания объекта совпадения (или другой способ украсить приведенный ниже пример)?
Вот пример, чтобы уточнить мою мотивацию на вопрос:
Следующий код Perl
if ($statement =~ /I love (\w+)/) {
print "He loves $1\n";
}
elsif ($statement =~ /Ich liebe (\w+)/) {
print "Er liebt $1\n";
}
elsif ($statement =~ /Je t\'aime (\w+)/) {
print "Il aime $1\n";
}
переведено на Python
m = re.search("I love (\w+)", statement)
if m:
print "He loves",m.group(1)
else:
m = re.search("Ich liebe (\w+)", statement)
if m:
print "Er liebt",m.group(1)
else:
m = re.search("Je t'aime (\w+)", statement)
if m:
print "Il aime",m.group(1)
выглядит очень неловко (если-еще-каскад, создание объекта соответствия).