Âncoras Regex Python

Resumo : neste tutorial, você aprenderá como usar âncoras de expressões regulares para corresponder às posições dos caracteres, incluindo o início e o fim de uma string.

Introdução às âncoras regex

As expressões regulares fornecem duas âncoras que correspondem às posições dos caracteres:

  • ^– a âncora do cursor corresponde ao início de uma string.
  • $– a âncora do dólar corresponde ao final de uma string.

O exemplo a seguir usa o \d\dpara corresponder dois dígitos em uma sequência de tempo:

import re

time = '12:20'
matches = re.finditer('\d\d', time)
for match in matches:
    print(match.group())Linguagem de código:  JavaScript  ( javascript )

Ele retorna duas correspondências:

12
20

Se você usar a âncora circunflexa ( ^), obterá um grupo que consiste nos dois dígitos no início da string. Por exemplo:

import re

time = '12:20'
matches = re.finditer('^\d\d', time)
for match in matches:
    print(match.group())Linguagem de código:  JavaScript  ( javascript )

Saída:

12

Da mesma forma, se você usar a $âncora, obterá os dois últimos dígitos porque $correspondem \d\dao final da sequência de tempo:

import re

time = '12:20'
matches = re.finditer('\d\d$', time)
for match in matches:
    print(match.group())Linguagem de código:  JavaScript  ( javascript )

Saída:

20

Para verificar se uma string é uma string de tempo, você pode combinar as âncoras circunflexo ( ^) e dólar ( ). $Por exemplo:

import re

time = '12:20'
matches = re.finditer('^\d\d:\d\d$', time)
for match in matches:
    print(match.group())Linguagem de código:  JavaScript  ( javascript )

Saída:

12:20Linguagem de código:  CSS  ( css )

Observe que o padrão ^\d\d:\d\d$não valida a hora e o minuto válidos. Por exemplo, também corresponde à seguinte string:

30:99Linguagem de código:  CSS  ( css )

Não é uma sequência de horário válida porque a hora válida é de 1 a 24 e o minuto válido é de 00 a 59. Posteriormente, você aprenderá como combinar a sequência de horário com valores válidos usando a alternância .

Resumo

  • As âncoras Regex correspondem às posições dos caracteres, não aos caracteres.
  • A âncora circunflexa ( ^) corresponde ao início de uma string.
  • A âncora de dólar ( $) corresponde ao final de uma string.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *