Objeto Match
O objeto Match representa um objeto com
informações sobre correspondências com expressão regular
em uma string. O objeto Match pode ser obtido
aplicando os seguintes métodos: fullmatch,
match,
search.
É possível extrair informações do objeto Match usando os métodos principais.
Métodos principais aplicados ao objeto Match
| Método | Finalidade |
|---|---|
group |
Retorna o grupo zero. |
groups |
Retorna uma tupla de grupos. |
groupdict |
Retorna um dicionário de grupos nomeados. |
span |
Retorna os índices inicial e final da tupla de um grupo. |
start |
Retorna o índice inicial da tupla de um grupo. |
end |
Retorna o índice final da tupla de um grupo. |
Exemplo . Objeto Match sem método
Vamos aplicar o método match à nossa
string:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
Resultado da execução do código:
<re.Match object; span=(0, 3), match='123'>
Exemplo . Método group
Agora vamos exibir o grupo zero
do objeto Match usando o método group:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
Resultado da execução do código:
'123'
Exemplo . Método groups
Vamos aplicar o método groups ao objeto obtido
para exibir as tuplas de grupos:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
Resultado da execução do código:
('1', '2')
Exemplo . Método groupdict
Para exibir o dicionário de grupos nomeados,
pode-se aplicar o método groupdict:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
Resultado da execução do código:
{'test1': '1', 'test2': '2'}
Exemplo . Método span
Vamos exibir a tupla com os índices inicial e
final de um grupo. Para isso, usamos o método span:
res = re.match('\d+', txt)
print(res.span())
Após a execução do código, você verá uma tupla composta por dois índices. Mas observe que o último valor é uma unidade maior que o índice final:
(0, 3)
Exemplo . Métodos start e end
Para retornar cada um dos índices
separadamente, pode-se aplicar os métodos start
e end:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
Resultado da execução do código:
0
3