Usar Expressões Regulares
Nesta etapa, você aprenderá como usar expressões regulares (regular expressions) em Python para identificar caracteres especiais. Expressões regulares são ferramentas poderosas para correspondência de padrões em strings.
Primeiro, vamos criar um script Python chamado regex_special_characters.py em seu diretório ~/project usando o editor VS Code.
## Content of regex_special_characters.py
import re
def find_special_characters(text):
special_characters = re.findall(r"[^a-zA-Z0-9\s]", text)
return special_characters
text = "Hello! This is a test string with some special characters like @, #, and $."
special_chars = find_special_characters(text)
print("Special characters found:", special_chars)
Aqui está o que este código faz:
import re: Esta linha importa o módulo re, que fornece operações de expressão regular.
def find_special_characters(text):: Isso define uma função que recebe uma string como entrada e encontra todos os caracteres especiais nela.
special_characters = re.findall(r"[^a-zA-Z0-9\s]", text): Esta linha usa a função re.findall() para encontrar todos os caracteres na string de entrada que não são alfanuméricos (a-z, A-Z, 0-9) ou espaços em branco (\s). [^...] é uma classe de caracteres negada, o que significa que corresponde a qualquer caractere não no conjunto especificado.
return special_characters: Esta linha retorna uma lista dos caracteres especiais encontrados.
- As linhas restantes definem uma string de exemplo, chamam a função para encontrar caracteres especiais nela e imprimem o resultado.
Agora, vamos executar o script. Abra seu terminal e execute o seguinte comando:
python regex_special_characters.py
Você deve ver a seguinte saída:
Special characters found: ['!', '@', ',', '#', '$', '.']
Esta saída mostra a lista de caracteres especiais encontrados na string de entrada usando a expressão regular.
Vamos modificar o script para usar uma expressão regular diferente que corresponda apenas a caracteres de pontuação.
Abra regex_special_characters.py no VS Code e modifique-o da seguinte forma:
## Modified content of regex_special_characters.py
import re
import string
def find_punctuation_characters(text):
punctuation_chars = re.findall(r"[" + string.punctuation + "]", text)
return punctuation_chars
text = "Hello! This is a test string with some punctuation like ., ?, and !."
punctuation = find_punctuation_characters(text)
print("Punctuation characters found:", punctuation)
Neste script modificado, usamos string.punctuation para definir o conjunto de caracteres de pontuação a serem correspondidos.
Execute o script novamente:
python regex_special_characters.py
Você deve ver a seguinte saída:
Punctuation characters found: ['!', '.', '?', '!']
Esta saída mostra a lista de caracteres de pontuação encontrados na string de entrada usando a expressão regular e a constante string.punctuation.
Usar expressões regulares fornece uma maneira flexível e poderosa de identificar e extrair caracteres especiais de strings em Python.