相关疑难解决方法(0)

在Python中匹配组

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";
}
Run Code Online (Sandbox Code Playgroud)

翻译成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)
Run Code Online (Sandbox Code Playgroud)

看起来很尴尬(if-else-cascade,匹配对象创建).

python regex

45
推荐指数
3
解决办法
10万
查看次数

标签 统计

python ×1

regex ×1