在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)
这看起来非常笨拙(if-else级联,匹配对象创建)。