Match groups in Python
- by Curd
Is there a way in Python to access match groups without explicitely creating a match object (or another way to beautify the example below)?
Here is an example to clarify my motivation for the question:
Following perl code
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";
}
translated into Python
m = re.match("I love (\w+)", statement)
if m:
print "He loves",m.group(1)
else:
m = re.match("Ich liebe (\w+)", statement)
if m:
print "Er liebt",m.group(1)
else:
m = re.match("Je t'aime (\w+)", statement)
if m:
print "Il aime",m.group(1)
looks very awkward (if-else-cascade, match object creation).