Как правильно извлечь совпадение регулярного выражения в Python? - PullRequest
1 голос
/ 10 марта 2010

Я нашел два способа извлечь совпадения в 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

Какой из них вы бы мне предложили использовать? А знаете ли вы другие способы сделать это?

Спасибо, Бода Цидо.

1 Ответ

6 голосов
/ 10 марта 2010

Я бы чаще использовал re.search (который возвращает любое совпадение, а не только одно ограничение для начала в начале строки как re.match делает!) если я ищу только одно совпадение, re.finditer, если я хочу перебрать все совпадения. Никогда re.findall, если я иду только после одного матча, это бесполезное усилие без повышения!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...