A forma completa de regex é Expressão Regular. É um recurso importante de qualquer linguagem de programação. É um padrão de string usado para corresponder, pesquisar ou substituir as strings em um valor de string. O padrão regex pode ser usado no script Python usando o módulo “re” do Python. Este módulo possui muitos tipos de funções para realizar diferentes operações de string. Diferentes metacaracteres e sequências especiais são usados para definir os padrões regex para pesquisar ou substituir as tarefas. Os propósitos de usar alguns metacaracteres, sequências especiais e métodos regex comumente usados no script Python são mostrados neste tutorial.
Alguns metacaracteres comumente usados em regex:
Personagens | Propósito |
'+' | É usado para corresponder a uma ou mais ocorrências de um caractere específico em uma string. |
'*' | É usado para corresponder zero ou mais ocorrências de um caractere específico em uma string. |
'?' | É usado para corresponder a zero ou uma ocorrência de um caractere específico em uma string. |
'^' | É usado para corresponder a um caractere ou string específico no início da string. |
'$' | É usado para corresponder a um caractere ou string específico no final da string. |
'|' | É usado para corresponder a qualquer uma das múltiplas strings em uma string. Funciona como a lógica OR. |
‘[]’ | É usado para corresponder a uma variedade de caracteres. |
'{}' | É usado para corresponder a um número específico de caracteres. |
Algumas sequências especiais comumente usadas em regex:
Sequências | Propósito |
'\A' | É usado para corresponder ao caractere específico no início da string. Funciona como o caractere “^”. |
‘\b’, ‘\B’ | O “\b” é usado para corresponder à string que contém o caractere ou palavra específico no início ou no final da string. O “\B” funciona ao contrário de “\b”. |
'\d', '\D' | O “\d” é usado para corresponder ao número decimal na string que é semelhante a “[0-9]”. O “\D” funciona ao contrário de “\d”. |
‘\s’, ‘\S’ | O “\s” é usado para corresponder ao espaço em branco na string que é semelhante a “[\n\t\r\v]”. O “\S” funciona de forma oposta a “\s”. |
‘\w’, ‘\W’ | O “\w” é usado para corresponder aos caracteres alfabéticos e numéricos da string. O “\W” funciona de forma oposta a “\w”. |
'\COM' | É usado para corresponder ao caractere específico no final da string. Funciona como o caractere “$”. |
Exemplo 1: Combine a string usando a função Match()
A função match() é usada para corresponder a um padrão regex no início da string. A sintaxe desta função é dada da seguinte forma:
Sintaxe:
revanche ( padrão, corda, bandeiras = 0 )
Aqui, o primeiro argumento é usado para definir o padrão regex. O segundo argumento é usado para definir a string principal. O terceiro argumento é opcional e é usado para definir diferentes tipos de sinalizadores.
Crie um arquivo Python com o seguinte script que corresponda a um padrão regex com uma string definida usando a função match(). Primeiro, um padrão regex definido é usado para correspondência. Em seguida, uma palavra de pesquisa é obtida do usuário e usada como um padrão regex para corresponder ao valor da string. Se alguma correspondência for encontrada, a palavra pesquisada será impressa. Caso contrário, a string “Nenhum valor correspondente encontrado” será impressa.
#Importar módulo necessárioimportar re
#Define a função para imprimir o resultado correspondente
def matchString ( ) :
#Verifique o valor de retorno da função match()
se juntamente com ! = Nenhum:
imprimir ( ''' + mat.grupo ( ) + ''é encontrado em'' + strValor + ''' )
outro:
imprimir ( 'Nenhum valor correspondente encontrado.' )
#Defina o valor da string
strValor = 'Primeiro a entrar, primeiro a sair.'
#Match a string com base no padrão
mat = re.match ( '^Primeiro' , strValor )
#Call função para imprimir o resultado da partida
string de correspondência ( )
#Pegue a string de pesquisa
inValor = entrada ( 'Digite o valor de pesquisa:' )
mat = re.match ( inValue + , strValor )
#Call função para imprimir o resultado da partida
string de correspondência ( )
A seguinte saída aparece para o “primeiro” valor de entrada:
Exemplo 2: Encontre a string usando a função Findall()
A função findall() é usada para retornar todas as palavras correspondentes encontradas na string principal como uma tupla.
Sintaxe:
re.findall ( padrão, corda, bandeiras = 0 )
Aqui, o primeiro argumento é usado para definir o padrão regex. O segundo argumento é usado para definir a string principal. O terceiro argumento é opcional e é usado para definir diferentes tipos de sinalizadores.
Crie um arquivo Python com o script a seguir que recebe um valor de string principal e um valor de string de pesquisa do usuário. Em seguida, use a palavra de pesquisa no padrão regex para encontrar a palavra de pesquisa na string principal. O número total de correspondências é impresso na saída.
#Importar módulo necessárioimportar re
#Pegue um valor de string
inValor = entrada ( 'Insira uma string:' )
#Pegue uma palavra de pesquisa
srcValue = entrada ( 'Digite uma palavra de pesquisa:' )
#Pesquise a palavra na string
srcResult = re.findall ( valorSrc + '\Em*' , em valor )
#Imprima o resultado da pesquisa
imprimir ( 'A palavra '' + valorSrc + '' é encontrado na string '
+str ( apenas ( srcResult ) ) + 'tempos.' )
De acordo com o resultado, a palavra de pesquisa “comer” é encontrada duas vezes na string principal “Comemos para viver e não vivemos para comer”.
Exemplo 3: Pesquise a string usando a função Search()
A search() é outra função para pesquisar um padrão específico em um valor de string. Ele contém os mesmos argumentos das funções match() e findall(). Crie um arquivo Python com o seguinte script que pesquisa a palavra “Python” em um valor de string que será obtido do usuário. Se a palavra pesquisada existir no valor de entrada, uma mensagem de sucesso será impressa. Caso contrário, será impressa uma mensagem de falha.
#Importar módulo de referênciaimportar re
#Pegue um valor de string
inValor = entrada ( 'Insira uma string:' )
#Pesquise a palavra específica no valor da string
srcResult = re.pesquisa ( R 'Python\w*' , em valor )
#Verifique se a palavra de pesquisa foi encontrada ou não
se srcResult:
imprimir ( ''' + srcResult.grupo ( ) + ''é encontrado em'' + em valor + ''' )
outro:
imprimir ( 'A string de pesquisa não foi encontrada.' )
Saída:
A seguinte saída aparece se a string de entrada for “Eu gosto de programação Python”:
A seguinte saída aparece se a string de entrada for “Eu gosto de programação PHP”:
Exemplo 4: Substitua a string usando a função Sub()
A função sub() é usada para pesquisar uma string específica com base no padrão e substituí-la por outra palavra. A sintaxe desta função é dada da seguinte forma:
Sintaxe:
re.sub ( padrão, substituir_string, main_string )
O primeiro argumento desta função contém o padrão usado para pesquisar uma string específica na string principal.
O segundo argumento desta função contém o valor da string “substituir”.
O terceiro argumento desta função contém a string principal.
Esta função retorna a string substituída se existir alguma palavra correspondente na string principal com base no primeiro argumento.
Crie um arquivo Python com o script a seguir que procura dois dígitos no final da string. Se a string contiver dois dígitos no final, os dígitos serão substituídos pela string “$50”.
#Importar módulo de referênciaimportar re
#Define a string principal
strValor = “O preço do livro é 70”
#Defina o padrão de pesquisa
padrão = '[0-9]{2}'
#Defina o valor de substituição
substituirValor = ‘$50’
#Pesquise e substitua a string com base no padrão
modificado_strValue = re.sub ( padrão, substituaValue, strValue )
#Imprime os valores da string original e modificada
imprimir ( 'Sequência original:' + strValor )
imprimir ( 'Sequência modificada:' + modificado_strValue )
Saída:
Havia 70 no final da corda principal. Portanto, 70 é substituído por $50 na string substituída.
Exemplo 5: Substitua a string usando a função Subn()
A função subn() funciona como a função sub(), exceto que retorna a saída como uma tupla onde o primeiro índice contém o valor substituído e o segundo índice contém o número total de correspondências.
Crie um arquivo Python com o seguinte script que pesquisa os alfabetos de A a L na string “LinuxHint.com” usando a função subn():
#Importar módulo de referênciaimportar re
#Define a string principal
strValor = 'LinuxHint. com'
#Defina o padrão de pesquisa
padrão = '[PARA O]'
#Defina o valor de substituição
substituirValor = '*'
#Pesquise e substitua a string com base no padrão
modificado_strValue = re.subn ( padrão, substituaValue, strValue )
#Imprime a string original e a saída do subn()
imprimir ( 'Sequência original: \n ' + strValor )
imprimir ( 'Saída da função subn():' )
imprimir ( valor_str modificado )
Saída:
De acordo com a saída a seguir, os caracteres “L” e “H” são substituídos pelo caractere “*”.
Exemplo 6: Divida a string usando a função Split()
Crie um arquivo Python com o seguinte script que usou a função split() para dividir a string principal em várias partes com base no padrão regex:
#Importar módulo de referênciaimportar re
#Define o valor da string
strVal= 'Rupa Akter;Nira Chowdhury;Mazharul Islam'
#Defina o padrão que será usado para dividir os dados
padrão = '[^A-Za-z ]'
#Armazena os valores divididos em uma lista
split_result = re.split ( padrão, strVal )
imprimir ( 'Saída da função split():' )
imprimir ( resultado_dividido )
Saída:
De acordo com a saída, a string principal é dividida em três partes com base no padrão “[^A-Za-z ]” usado no script.
Conclusão
O objetivo dos metacaracteres, intervalos e funções integradas do Python mais comumente usados para pesquisar, substituir e dividir as strings é mostrado neste tutorial usando scripts Python simples.