Exemples de regex de Python

Exemples De Regex De Python



La forma completa de regex és Expressió regular. És una característica important de qualsevol llenguatge de programació. És un patró de cadena que s'utilitza per fer coincidir, cercar o substituir les cadenes en un valor de cadena. El patró d'expressió regular es pot utilitzar a l'script de Python mitjançant el mòdul 're' de Python. Aquest mòdul té molts tipus de funcions per fer diferents operacions de cadena. S'utilitzen diferents metacaràcters i seqüències especials per definir els patrons d'expressió regular per cercar o substituir les tasques. En aquest tutorial es mostren els propòsits d'utilitzar alguns metacaracters, seqüències especials i mètodes d'expressió regular d'ús habitual a l'script de Python.

Alguns metacaracters utilitzats habitualment en expresions regulars:









Personatges Propòsit
‘+’ S'utilitza per fer coincidir una o més ocurrències d'un caràcter particular en una cadena.
‘*’ S'utilitza per fer coincidir zero o més ocurrències d'un caràcter determinat en una cadena.
‘?’ S'utilitza per fer coincidir zero o una ocurrència d'un caràcter particular en una cadena.
‘^’ S'utilitza per fer coincidir el caràcter o la cadena en particular al començament de la cadena.
‘$’ S'utilitza per fer coincidir el caràcter o la cadena en particular al final de la cadena.
‘|’ S'utilitza per fer coincidir qualsevol de les múltiples cadenes d'una cadena. Funciona com la lògica OR.
‘[]’ S'utilitza per fer coincidir una sèrie de caràcters.
‘{}’ S'utilitza per fer coincidir un nombre específic de caràcters.



Algunes seqüències especials d'ús habitual en expresions regulars:





Seqüències Propòsit
'\A' S'utilitza per fer coincidir el caràcter particular a l'inici de la cadena. Funciona com el caràcter '^'.
'\b', '\B' El '\b' s'utilitza per fer coincidir la cadena que conté el caràcter o paraula en particular al principi o al final de la cadena. El “\B” funciona oposat al “\b”.
'\d', '\D' El '\d' s'utilitza per fer coincidir el nombre decimal de la cadena que és similar a '[0-9]'. El “\D” funciona oposat al “\d”.
'\s', '\S' El '\s' s'utilitza per fer coincidir l'espai en blanc de la cadena que és similar a '[\n\t\r\v]'. El “\S” funciona oposat al “\s”.
'\w', '\W' El '\w' s'utilitza per fer coincidir els caràcters alfabètics i numèrics de la cadena. El “\W” funciona oposat al “\w”.
'\AMB' S'utilitza per fer coincidir el caràcter particular al final de la cadena. Funciona com el caràcter '$'.

Exemple 1: Relaciona la cadena utilitzant la funció Match().

La funció match() s'utilitza per fer coincidir un patró d'expressió regular al principi de la cadena. La sintaxi d'aquesta funció es dóna de la següent manera:



Sintaxi:

tornar a coincidir ( patró, corda, banderes = 0 )

Aquí, el primer argument s'utilitza per definir el patró d'expressió regular. El segon argument s'utilitza per definir la cadena principal. El tercer argument és opcional i s'utilitza per definir diferents tipus de senyaladors.

Creeu un fitxer Python amb l'script següent que coincideixi amb un patró d'expressió regular amb una cadena definida mitjançant la funció match(). En primer lloc, s'utilitza un patró d'expressió regular definit per fer coincidir. A continuació, s'agafa una paraula de cerca de l'usuari i s'utilitza com a patró d'expressió regular per coincidir amb el valor de la cadena. Si es troba alguna coincidència, s'imprimeix la paraula de cerca. En cas contrari, s'imprimeix la cadena 'No s'ha trobat cap valor coincident'.

#Importa el mòdul necessari
importar re

#Definiu la funció per imprimir el resultat coincident
def matchString ( ) :
#Comproveu el valor de retorn de la funció match().
si conjuntament amb ! = Cap:
imprimir ( ''' + mat.group ( ) + '' es troba a '' + strValue + ''' )
altra cosa:
imprimir ( 'No s'ha trobat cap valor coincident'. )

#Definiu el valor de la cadena
strValue = 'Primer a entrar, primer a sortir.'
#Fa coincidir la cadena segons el patró
mat = tornar a coincidir ( '^Primer' , strValue )
Funció #Call per imprimir el resultat del partit
matchString ( )

#Agafa la cadena de cerca
inValue = entrada ( 'Introduïu el valor de cerca:' )
mat = tornar a coincidir ( inValue + , strValue )
Funció #Call per imprimir el resultat del partit
matchString ( )

Apareix la sortida següent per al 'primer' valor d'entrada:

Exemple 2: Trobeu la cadena utilitzant la funció Findall().

La funció findall() s'utilitza per retornar totes les paraules coincidents que es troben a la cadena principal com a tupla.

Sintaxi:

re.trobar ( patró, corda, banderes = 0 )

Aquí, el primer argument s'utilitza per definir el patró d'expressió regular. El segon argument s'utilitza per definir la cadena principal. El tercer argument és opcional i s'utilitza per definir diferents tipus de senyaladors.

Creeu un fitxer Python amb l'script següent que prengui un valor de cadena principal i un valor de cadena de cerca de l'usuari. A continuació, utilitzeu la paraula de cerca al patró d'expressió regular per trobar la paraula de cerca a la cadena principal. El nombre total de coincidències s'imprimeix a la sortida.

#Importa el mòdul necessari
importar re

#Agafa un valor de cadena
inValue = entrada ( 'Introduïu una cadena:' )

#Preneu una paraula de cerca
srcValue = entrada ( 'Introduïu una paraula de cerca:' )

#Cerca la paraula a la cadena
srcResult = re.trobar ( srcValue + '\En*' , en valor )
#Imprimeix el resultat de la cerca
imprimir ( 'La paraula '' + srcValue + '' es troba a la cadena'
+ str ( només ( srcResult ) ) + 'temps'. )

Segons la sortida, la paraula de cerca 'menjar' es troba dues vegades a la cadena principal 'Mengem per viure i no vivim per menjar'.

Exemple 3: cerqueu la cadena utilitzant la funció Search().

La cerca () és una altra funció per cercar un patró particular en un valor de cadena. Conté els mateixos arguments que les funcions match() i findall(). Creeu un fitxer Python amb el següent script que cerqui la paraula 'Python' en un valor de cadena que es prendrà de l'usuari. Si la paraula de cerca existeix al valor d'entrada, s'imprimeix un missatge d'èxit. En cas contrari, s'imprimeix un missatge d'error.

#Importa el mòdul re
importar re

#Agafa un valor de cadena
inValue = entrada ( 'Introduïu una cadena:' )
#Cerqueu la paraula concreta al valor de cadena
srcResult = recerca ( r 'Python\w*' , en valor )

#Comproveu que la paraula de cerca s'ha trobat o no
si srcResult:
imprimir ( ''' + srcResult.group ( ) + '' es troba a '' + inValue + ''' )
altra cosa:
imprimir ( 'La cadena de cerca no s'ha trobat.' )

Sortida:

La sortida següent apareix si la cadena d'entrada és 'M'agrada la programació de Python':

La sortida següent apareix si la cadena d'entrada és 'M'agrada la programació PHP':

Exemple 4: Substituïu la cadena utilitzant la funció Sub().

La funció sub() s'utilitza per cercar una cadena determinada segons el patró i substituir-la per una altra paraula. La sintaxi d'aquesta funció es dóna de la següent manera:

Sintaxi:

re.sub ( patró, substitució_cadena, cadena_principal )

El primer argument d'aquesta funció conté el patró que s'utilitza per cercar la cadena particular a la cadena principal.

El segon argument d'aquesta funció conté el valor de cadena 'reemplaça'.

El tercer argument d'aquesta funció conté la cadena principal.

Aquesta funció retorna la cadena substituïda si existeix alguna paraula coincident a la cadena principal basada en el primer argument.

Creeu un fitxer Python amb el següent script que cerqui dos dígits al final de la cadena. Si la cadena conté dos dígits al final, els dígits se substituiran per la cadena '$50'.

#Importa el mòdul re
importar re

#Definiu la cadena principal
strValue = 'El preu del llibre és de 70'

#Definiu el patró de cerca
patró = '[0-9]{2}'

#Definiu el valor de substitució
substituirValor = '$50'

#Cerqueu i substituïu la cadena segons el patró
modified_strValue = re.sub ( patró, replaceValue, strValue )
#Imprimeix els valors de cadena originals i modificats
imprimir ( 'Cadena original:' + strValue )
imprimir ( 'Cadena modificada:' + modified_strValue )

Sortida:

N'hi havia 70 al final de la corda principal. Per tant, el 70 es substitueix per 50 $ a la cadena substituïda.

Exemple 5: Substituïu la cadena utilitzant la funció Subn().

La funció subn() funciona com la funció sub(), excepte que retorna la sortida com una tupla on el primer índex conté el valor substituït i el segon índex conté el nombre total de coincidències.

Creeu un fitxer Python amb el següent script que cerqui els alfabets A a L a la cadena 'LinuxHint.com' mitjançant la funció subn():

#Importa el mòdul re
importar re

#Definiu la cadena principal
strValue = 'LinuxHint.com'

#Definiu el patró de cerca
patró = '[A-L]'

#Definiu el valor de substitució
substituirValor = '*'

#Cerqueu i substituïu la cadena segons el patró
modified_strValue = re.subn ( patró, replaceValue, strValue )
#Imprimeix la cadena original i la sortida del subn()
imprimir ( 'Cadena original: \n ' + strValue )
imprimir ( 'Sortida de la funció subn():' )
imprimir ( modified_strValue )

Sortida:

Segons la sortida següent, els caràcters 'L' i 'H' es substitueixen pel caràcter '*'.

Exemple 6: Dividiu la cadena utilitzant la funció Split().

Creeu un fitxer Python amb el següent script que utilitzava la funció split() per dividir la cadena principal en diverses parts segons el patró d'expressió regular:

#Importa el mòdul re
importar re

#Definiu el valor de la cadena
strVal= 'Rupa Akter; Nira Chowdhury; Mazharul Islam'
#Definiu el patró que s'utilitzarà per dividir les dades
patró = '[^A-Za-z ]'
# Emmagatzema els valors dividits en una llista
split_result = re.dividir ( patró, strVal )
imprimir ( 'Sortida de la funció split():' )
imprimir ( split_result )

Sortida:

Segons la sortida, la cadena principal es divideix en tres parts segons el patró '[^A-Za-z ]' que s'utilitza a l'script.

Conclusió

El propòsit dels metacaràcters, intervals i funcions integrades de Python més utilitzats per cercar, substituir i dividir les cadenes es mostra en aquest tutorial mitjançant scripts de Python senzills.