在 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";
}
翻译成巨蟒
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-层叠,匹配对象创建)。