Exemples d'expressions régulières Python

Exemples D Expressions Regulieres Python



La forme complète de regex est l’expression régulière. C'est une fonctionnalité importante de tout langage de programmation. Il s'agit d'un modèle de chaîne utilisé pour faire correspondre, rechercher ou remplacer les chaînes dans une valeur de chaîne. Le modèle regex peut être utilisé dans le script Python à l'aide du module « re » de Python. Ce module dispose de nombreux types de fonctions pour effectuer différentes opérations sur les chaînes. Différents métacaractères et séquences spéciales sont utilisés pour définir les modèles d'expression régulière pour rechercher ou remplacer les tâches. Les objectifs de l'utilisation de certains métacaractères, séquences spéciales et méthodes regex couramment utilisés dans le script Python sont présentés dans ce didacticiel.

Quelques métacaractères couramment utilisés dans les regex :









Personnages But
'+' Il est utilisé pour faire correspondre une ou plusieurs occurrences d'un caractère particulier dans une chaîne.
'*' Il est utilisé pour faire correspondre zéro ou plusieurs occurrences d'un caractère particulier dans une chaîne.
'?' Il est utilisé pour faire correspondre zéro ou une occurrence d'un caractère particulier dans une chaîne.
'^' Il est utilisé pour faire correspondre le caractère ou la chaîne particulière au début de la chaîne.
'$' Il est utilisé pour faire correspondre le caractère ou la chaîne particulière à la fin de la chaîne.
'|' Il est utilisé pour faire correspondre l’une des multiples chaînes d’une chaîne. Cela fonctionne comme la logique OU.
'[]' Il est utilisé pour faire correspondre une gamme de caractères.
'{}' Il est utilisé pour faire correspondre un nombre spécifique de caractères.



Quelques séquences spéciales couramment utilisées dans les regex :





Séquences But
'\UN' Il est utilisé pour faire correspondre le caractère particulier au début de la chaîne. Cela fonctionne comme le caractère « ^ ».
'\b', '\B' Le « \b » est utilisé pour faire correspondre la chaîne qui contient le caractère ou le mot particulier au début ou à la fin de la chaîne. Le « \B » fonctionne à l’opposé de « \b ».
'\d', '\D' Le « \d » est utilisé pour faire correspondre le nombre décimal dans la chaîne similaire à « [0-9] ». Le « \D » fonctionne à l’opposé de « \d ».
'\s', '\S' Le « \s » est utilisé pour faire correspondre les espaces dans la chaîne qui est similaire à « [\n\t\r\v] ». Le « \S » fonctionne à l’opposé du « \s ».
'\w', '\W' Le « \w » est utilisé pour faire correspondre les caractères alphabétiques et numériques de la chaîne. Le « \W » fonctionne à l'opposé de « \w ».
'\AVEC' Il est utilisé pour faire correspondre le caractère particulier à la fin de la chaîne. Cela fonctionne comme le caractère « $ ».

Exemple 1 : faire correspondre la chaîne à l'aide de la fonction Match()

La fonction match() est utilisée pour faire correspondre un modèle regex au début de la chaîne. La syntaxe de cette fonction est donnée comme suit :



Syntaxe:

re.match ( motif, ficelle, drapeaux = 0 )

Ici, le premier argument est utilisé pour définir le modèle regex. Le deuxième argument est utilisé pour définir la chaîne principale. Le troisième argument est facultatif et est utilisé pour définir différents types de drapeaux.

Créez un fichier Python avec le script suivant qui fait correspondre un modèle d'expression régulière avec une chaîne définie à l'aide de la fonction match(). Tout d’abord, un modèle d’expression régulière défini est utilisé pour correspondre. Ensuite, un mot recherché est extrait de l'utilisateur et est utilisé comme modèle d'expression régulière pour correspondre à la valeur de la chaîne. Si une correspondance est trouvée, le mot recherché est imprimé. Sinon, la chaîne « Aucune valeur correspondante trouvée » est imprimée.

#Importer le module nécessaire
importer re

#Définissez la fonction pour imprimer le résultat correspondant
def matchString ( ) :
#Vérifiez la valeur de retour de la fonction match()
si avec ! = Aucun :
imprimer ( ''' + tapis.groupe ( ) + '' se trouve dans '' + valeur str + ''' )
autre:
imprimer ( 'Aucune valeur correspondante trouvée.' )

#Définir la valeur de la chaîne
strValeur = 'Premier entré, premier sorti.'
#Faire correspondre la chaîne en fonction du modèle
mat = re.match ( '^Premier' , valeur str )
#Appelez la fonction pour imprimer le résultat du match
chaîne de correspondance ( )

#Prenez la chaîne de recherche
inValue = entrée ( 'Entrez la valeur de recherche : ' )
mat = re.match ( inValue + , strValeur )
#Appelez la fonction pour imprimer le résultat du match
chaîne de correspondance ( )

La sortie suivante apparaît pour la « première » valeur d’entrée :

Exemple 2 : rechercher la chaîne à l'aide de la fonction Findall()

La fonction findall() est utilisée pour renvoyer tous les mots correspondants trouvés dans la chaîne principale sous forme de tuple.

Syntaxe:

re.findall ( motif, ficelle, drapeaux = 0 )

Ici, le premier argument est utilisé pour définir le modèle regex. Le deuxième argument est utilisé pour définir la chaîne principale. Le troisième argument est facultatif et est utilisé pour définir différents types de drapeaux.

Créez un fichier Python avec le script suivant qui prend une valeur de chaîne principale et une valeur de chaîne de recherche de l'utilisateur. Ensuite, utilisez le mot de recherche dans le modèle d'expression régulière pour trouver le mot de recherche dans la chaîne principale. Le nombre total de correspondances est imprimé dans la sortie.

#Importer le module nécessaire
importer re

#Prendre une valeur de chaîne
inValue = entrée ( 'Entrez une chaîne : ' )

#Prenez un mot de recherche
srcValue = entrée ( 'Entrez un mot de recherche : ' )

#Rechercher le mot dans la chaîne
srcResult = re.findall ( Valeur src + '\Dans*' , en valeur )
#Imprimer le résultat de la recherche
imprimer ( 'Le mot '' + Valeur src + '' se trouve dans la chaîne '
+ str ( seulement ( srcRésultat ) ) + 'fois.' )

Selon le résultat, le mot de recherche « manger » se trouve deux fois dans la chaîne principale « Nous mangeons pour vivre et ne vivons pas pour manger ».

Exemple 3 : Rechercher la chaîne à l'aide de la fonction Search()

search() est une autre fonction permettant de rechercher un modèle particulier dans une valeur de chaîne. Il contient les mêmes arguments que les fonctions match() et findall(). Créez un fichier Python avec le script suivant qui recherche le mot « Python » dans une valeur de chaîne qui sera extraite de l'utilisateur. Si le mot recherché existe dans la valeur d'entrée, un message de réussite est imprimé. Sinon, un message d'échec est imprimé.

#Importer un module
importer re

#Prendre une valeur de chaîne
inValue = entrée ( 'Entrez une chaîne : ' )
#Recherchez le mot particulier dans la valeur de chaîne
srcResult = re.search ( r 'Python\w*' , en valeur )

#Vérifiez que le mot recherché est trouvé ou non
si srcRésultat :
imprimer ( ''' + srcResult.group ( ) + '' se trouve dans '' + enValeur + ''' )
autre:
imprimer ( 'La chaîne de recherche est introuvable.' )

Sortir:

La sortie suivante apparaît si la chaîne d'entrée est « J'aime la programmation Python » :

La sortie suivante apparaît si la chaîne d'entrée est « J'aime la programmation PHP » :

Exemple 4 : Remplacer la chaîne à l'aide de la fonction Sub()

La fonction sub() est utilisée pour rechercher une chaîne particulière en fonction du modèle et la remplacer par un autre mot. La syntaxe de cette fonction est donnée comme suit :

Syntaxe:

re.sub ( modèle, remplacer_string, main_string )

Le premier argument de cette fonction contient le modèle utilisé pour rechercher la chaîne particulière dans la chaîne principale.

Le deuxième argument de cette fonction contient la valeur de chaîne « remplacer ».

Le troisième argument de cette fonction contient la chaîne principale.

Cette fonction renvoie la chaîne remplacée si un mot correspondant existe dans la chaîne principale en fonction du premier argument.

Créez un fichier Python avec le script suivant qui recherche deux chiffres à la fin de la chaîne. Si la chaîne contient deux chiffres à la fin, les chiffres sont remplacés par la chaîne « $50 ».

#Importer un module
importer re

#Définir la chaîne principale
strValeur = 'Le prix du livre est de 70'

#Définir le modèle de recherche
motif = '[0-9]{2}'

#Définir la valeur de remplacement
remplacerValue = '50$'

#Recherchez et remplacez la chaîne en fonction du modèle
modifié_strValue = re.sub ( modèle, replaceValue, strValue )
#Imprimer les valeurs de chaîne originales et modifiées
imprimer ( 'Chaîne d'origine : ' + valeur str )
imprimer ( 'Chaîne modifiée : ' + modifié_strValue )

Sortir:

Il y en avait 70 au bout de la chaîne principale. Ainsi, le 70 est remplacé par 50 $ dans la chaîne remplacée.

Exemple 5 : Remplacer la chaîne à l'aide de la fonction Subn()

La fonction subn() fonctionne comme la fonction sub(), sauf qu'elle renvoie la sortie sous forme de tuple où le premier index contient la valeur remplacée et le deuxième index contient le nombre total de correspondances.

Créez un fichier Python avec le script suivant qui recherche les alphabets A à L dans la chaîne « LinuxHint.com » à l'aide de la fonction subn() :

#Importer un module
importer re

#Définir la chaîne principale
strValeur = 'LinuxHint.com'

#Définir le modèle de recherche
motif = '[AU]'

#Définir la valeur de remplacement
remplacerValue = '*'

#Recherchez et remplacez la chaîne en fonction du modèle
modifié_strValue = re.subn ( modèle, replaceValue, strValue )
#Imprimer la chaîne d'origine et la sortie du subn()
imprimer ( 'Chaîne originale : \n ' + valeur str )
imprimer ( 'Sortie de la fonction subn() : ' )
imprimer ( modifié_strValue )

Sortir:

Selon le résultat suivant, les caractères « L » et « H » sont remplacés par le caractère « * ».

Exemple 6 : diviser la chaîne à l'aide de la fonction Split()

Créez un fichier Python avec le script suivant qui utilise la fonction split() pour diviser la chaîne principale en plusieurs parties en fonction du modèle regex :

#Importer un module
importer re

#Définir la valeur de la chaîne
strVal= 'Rupa Akter; Nira Chowdhury; Mazharul Islam'
#Définissez le modèle qui sera utilisé pour diviser les données
motif = '[^A-Za-z ]'
#Stocker les valeurs fractionnées dans une liste
split_result = re.split ( modèle, strVal )
imprimer ( 'Sortie de la fonction split() :' )
imprimer ( split_result )

Sortir:

Selon le résultat, la chaîne principale est divisée en trois parties en fonction du modèle « [^A-Za-z ] » utilisé dans le script.

Conclusion

L'objectif des métacaractères, des plages et des fonctions intégrées Python les plus couramment utilisés pour rechercher, remplacer et diviser les chaînes est présenté dans ce didacticiel à l'aide de scripts Python simples.