Is there a way in Python to access match groups without explicitly 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
";
}
elsif ($statement =~ /Ich liebe (w+)/) {
print "Er liebt $1
";
}
elsif ($statement =~ /Je t'aime (w+)/) {
print "Il aime $1
";
}
translated into 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)
looks very awkward (if-else-cascade, match object creation).
See Question&Answers more detail:os