RegEx XXII: Grupos nomeados

Um grupo de captura nomeado corresponderá a "x" em (?P<name>x) e armazenará a correspondência com o nome name.

Vamos ver um exemplo. Para extrair o código de área dos Estados Unidos de um número de telefone, poderíamos usar:

txt = "(214) 987-6482"
m = re.match("\((?P<area>\d{3})\)", txt)

m.group("area") ➞ 214

Escreva uma expressão regular para encontrar o ano, o mês e o dia em uma string. Armazene as correspondências em três grupos chamados year, month e day, respectivamente. Todas as strings serão fornecidas no formato a seguir YYYY-MM-DD.

Exemplo

txt = "2020-04-18"
pattern = "yourregularexpressionhere"
m = re.search(pattern, txt)

m.group("year") ➞ "2020"
m.group("month") ➞ "04"
m.group("day") ➞ "18"

Observações

  • Você não precisa escrever uma função, apenas o padrão.
  • Não remova import re do código.
  • Encontre mais informações sobre RegEx e grupos de captura nomeados em Recursos.
  • Você pode encontrar todos os desafios desta série na minha coleção Basic RegEx.