RegEx do Python
- Página Anterior JSON do Python
- Próxima Página PIP do Python
RegEx ou expressão regular é uma sequência de caracteres que forma um padrão de busca.
RegEx pode ser usado para verificar se uma string contém um padrão de busca especificado.
RegEx
Python oferece um módulo chamado re
do pacote nativo, pode ser usado para lidar com expressões regulares.
Importar re
módulo:
import re
RegEx no Python
Importar re
após o módulo, podemos começar a usar expressões regulares:
Exemplo
Recupera a string para verificar se ela começa com "China" e termina com "country":
import re txt = "China é um grande país" x = re.search("^China.*country$", txt)
Funções RegEx
re
O módulo fornece um conjunto de funções que permitem que possamos检索 strings para correspondências:
função | Descrição |
---|---|
findall | Retorna uma lista contendo todas as correspondências |
search | Se houver correspondência em qualquer posição da string, retorna o objeto Match |
split | Retorna uma lista que divide a string em cada correspondência |
sub | Substitui uma ou mais correspondências com uma string |
Caractere meta
O caractere meta é um caractere que tem significado especial:
Caractere | Descrição | Exemplo | TIY |
---|---|---|---|
[] | Um grupo de caracteres | "[a-m]" | Experimente |
\ | Sequência especial (também pode ser usada para escapar de caracteres especiais) | "\d" | Experimente |
. | Qualquer caractere (exceto o caractere de nova linha) | "he..o" | Experimente |
^ | começa com | "^hello" | Experimente |
$ | termina com | "world$" | Experimente |
* | Zero ou mais ocorrências | "aix*" | Experimente |
+ | Uma ou mais ocorrências | "aix+" | Experimente |
{} | A ocorrência especificada exatamente | "aix{2}" | Experimente |
| | qualquer um dos dois | "cai|fica" | Experimente |
() | Captura e agrupamento |
Sequência especial
Sequência especial se refere a \
seguido por algum caractere da tabela a seguir, possui significado especial:
Caractere | Descrição | Exemplo | TIY |
---|---|---|---|
\A | Se o caractere específico estiver no início da string, retorna a correspondência | "\AThe" | Experimente |
\b | Retorna a correspondência onde o caractere específico está no início ou no final da palavra |
r"\bain" r"rain\b" |
Experimente Experimente |
\B | Retorna a correspondência onde o caractere específico existe, mas não no início (ou no final) da palavra |
r"\Bain" r"rain\B" |
Experimente Experimente |
\d | Retorna a correspondência onde a string contém números (números de 0 a 9) | "\d" | Experimente |
\D | Retorna a correspondência onde a string não contém números | "\D" | Experimente |
\s | Retorna a correspondência onde a string contém caracteres de espaço em branco | "\s" | Experimente |
\S | Retorna a correspondência onde a string não contém caracteres de espaço em branco | "\S" | Experimente |
\w | Retorna uma correspondência onde a string contém qualquer caractere de palavra (Os caracteres de a a Z, os números de 0 a 9 e o caractere de sublinhado _) |
"\w" | Experimente |
\W | Retorna uma correspondência onde a string não contém nenhum caractere de palavra | "\W" | Experimente |
\Z | Se o caractere especificado estiver no final da string, retorna a correspondência | "Espanha\Z" | Experimente |
Conjunto (Set)
O conjunto (Set) é um par de colchetes []
um conjunto de caracteres dentro, que tem significado especial:
Conjunto | Descrição | Experimente |
---|---|---|
[arn] | Retorna uma correspondência que contém um dos caracteres especificados (a, r ou n) | Experimente |
[a-n] | Retorna correspondências de caracteres minúsculos entre a e n | Experimente |
[^arn] | Retorna correspondências de caracteres que não são a, r ou n | Experimente |
[0123] | Retorna correspondências que contêm qualquer número especificado (0, 1, 2 ou 3) | Experimente |
[0-9] | Retorna correspondências de números entre 0 e 9 | Experimente |
[0-5][0-9] | Retorna correspondências de números entre 0 e 9 | Experimente |
[a-zA-Z] | Retorna correspondências de caracteres entre a e z, maiúsculas ou minúsculas | Experimente |
[+] | No conjunto, +, *, ., |, (), $, {} não têm significado especial, portanto [+] representa: | Experimente |
função findall()
findall()
A função retorna uma lista contendo todas as correspondências.
Exemplo
Imprima a lista de todas as correspondências:
import re str = "China é um país grande" x = re.findall("a", str) print(x)
Esta lista contém os itens correspondentes na ordem encontrada.
Se não encontrar correspondências, retorna uma lista vazia:
Exemplo
Se não encontrar correspondências, retorna uma lista vazia:
import re str = "China é um país grande" x = re.findall("USA", str) print(x)
função search()
search()
A função busca correspondências na string, retornando um objeto Match se houver correspondência.
Se houver várias correspondências, retorna apenas a primeira correspondência:
Exemplo
Procure o primeiro caractere de espaço em branco na string:
import re str = "China é um país grande" x = re.search("\s", str) print("A primeira caractere de espaço em branco está localizado na posição:", x.start())
Se não encontrar correspondências, o valor retornado Nenhum
:
Exemplo
Realize uma busca que não retorna correspondências:
import re str = "China é um país grande" x = re.search("USA", str) print(x)
função split()
split()
A função retorna uma lista, onde a string é dividida em cada correspondência:
Exemplo
Divida a string em cada caractere de espaço em branco:
import re str = "China é um país grande" x = re.split("\s", str) print(x)
Você pode especificar maxsplit
parâmetro para controlar a ocorrência:
Exemplo
Divida a string apenas na primeira ocorrência:
import re str = "China é um país grande" x = re.split("\s", str, 1) print(x)
função sub()
sub()
A função substitui a correspondência pela sua escolha de texto:
Exemplo
Substitua todos os caracteres de espaço em branco pelo número 9:
import re str = "China é um país grande" x = re.sub("\s", "9", str) print(x)
Você pode especificar count
Parâmetros para controlar o número de substituições:
Exemplo
Substituir as duas primeiras ocorrências:
import re str = "China é um país grande" x = re.sub("\s", "9", str, 2) print(x)
Objeto Match
O objeto Match é um objeto que contém informações sobre a pesquisa e os resultados.
Notas:Se não houver correspondência, o valor retornado Nenhum
em vez de objeto Match.
Exemplo
A execução retornará um objeto Match da pesquisa:
import re str = "China é um país grande" x = re.search("a", str) print(x) # Isso imprimirá um objeto
O objeto Match fornece atributos e métodos para obter informações sobre a pesquisa e os resultados:
span()
O tupla retornado contém a posição de início e fim da correspondência.string
Retornar a string passada para a funçãogroup()
Retornar a parte da string correspondente
Exemplo
Imprimir a posição da primeira ocorrência correspondente (posição de início e fim).
Procurar expressões regulares que começam com uma letra maiúscula "C" em qualquer palavra:
import re str = "China é um país grande" x = re.search(r"\bC\w+", str) print(x.span())
Exemplo
Imprimir a string passada para a função:
import re str = "China é um país grande" x = re.search(r"\bC\w+", str) print(x.string)
Exemplo
Imprimir a parte da string correspondente.
Procurar expressões regulares que começam com uma letra maiúscula "C" em qualquer palavra:
import re str = "China é um país grande" x = re.search(r"\bC\w+", str) print(x.group())
Notas:Se não houver itens correspondentes, o valor retornado Nenhum
em vez de objeto Match.
- Página Anterior JSON do Python
- Próxima Página PIP do Python