Enviar um café pro programador

Início e Fim de String: Acento circunflexo (^) e Sinal de Dólar $ em Regex Python (tutorial parte 6)

Neste sexto tutorial de expressões regulares em Python, vamos estudar os caracteres ^ e $, que servem para simbolizar o início e o fim de uma string em Regex.

Início de String - Acento circunflexo: ^

Muitas vezes, desejamos detectar um padrão que esteja exatamente no início de uma string.

Um caractere especial, o de acento circunflexo, serve para simbolizar o início de uma string: ^

Ou seja, basta posicionar esse caractere em sua regex, e vai começar a trabalhar com o começo de qualquer string. O script abaixo detecta a palavra "Olá", no início de qualquer string:

import re

while True:
	texto = input("Digite sua string: " )

	minhaRegex = re.compile(r'^Olá')
	resultado = minhaRegex.search(texto)
	print(resultado.group())

O script Python abaixo, é mais generalista, ele vai te informar a primeira palavra da string:

import re

while True:
	texto = input("Digite sua string: " )

	minhaRegex = re.compile(r'^(\w)+\s')
	resultado = minhaRegex.search(texto)
	print(resultado.group())


O que fizemos foi, no início da string (^), detectar um ou mais (+) caractere de escrita (\w), até o primeiro espaçamento (\s).

Final de String - Símbolo de dólar: $

Analogamente ao início de string e circunflexo, muitas vezes é necessário detectar o final da string.
Esse fim é simbolizado pelo sinal de dinheiro, o dólar: $

O script abaixo detecta se os quatro últimos caracteres de uma string são: ponto e três letras
Ou seja, ele detecta se você digitou o nome de um arquivo e sua extensão, como .txt ou .png ou .exe

import re

while True:
	texto = input("Digite sua string: " )

	minhaRegex = re.findall(r'\.\w{3}$', texto)
	print(minhaRegex)

Detectando ponto: \.
Detectando 3 caracteres: \w{3}
Detectando final da string: $


Já o script abaixo detecta padrões compostos somente por dígitos, com um ou mais presente:

import re

while True:
	texto = input("Digite sua string: " )

	minhaRegex = re.compile(r'^(\d)+$')
	resultado = minhaRegex.search(texto)
	print(resultado.group())

Veja que o padrão é:
Início da string: ^
Um ou mais dígitos: \d+
Final de string: $


Nenhum comentário:

Postar um comentário