在Python中提取正则表达式匹配的正确方法是什么?

时间:2010-03-10 15:54:09

标签: python regex

我找到了两种在Python中提取匹配的方法:

1

def extract_matches(regexp, text):
  matches = re.match(regexp, text)
  if matches:
    return matches.group(1)

2

def extract_matches(regexp, text):
  try:
    return re.findall(regexp, text)[0]
  except IndexError:
    return None

您建议我使用哪一个?你知道其他任何方法吗?

谢谢,Boda Cydo。

1 个答案:

答案 0 :(得分:6)

我会更频繁地使用re.search(返回任何匹配,而不仅仅是一个被限制为从字符串开头开始的re.match!)如果我'我正在寻找一场比赛,re.finditer如果我想循环所有比赛。永远不会re.findall如果我只追求一场比赛,那就是浪费精力而没有上升空间!