RegEx Python
- Page précédente JSON Python
- Page suivante PIP Python
RegEx ou expression régulière est une séquence de caractères formant un motif de recherche.
RegEx peut être utilisé pour vérifier si une chaîne contient un motif de recherche spécifié.
RegEx
Python propose un module nommé re
du paquet intégré,可用于处理表达式 régulières。
Importation re
Module :
import re
RegEx en Python
Importation re
Après le module, vous pouvez commencer à utiliser les expressions régulières :
Exemple
Recherche de la chaîne pour voir si elle commence par "China" et se termine par "country" :
import re txt = "China is a great country" x = re.search("^China.*country$", txt)
Fonctions RegEx
re
Le module fournit un ensemble de fonctions permettant de rechercher des chaînes pour des correspondances :
Fonction | Description |
---|---|
findall | Retourne une liste contenant toutes les correspondances |
search | Retourne un objet Match si une correspondance existe à n'importe quel endroit dans la chaîne |
split | Retourne une liste de chaînes divisées à chaque correspondance |
sub | Remplace une ou plusieurs correspondances par une chaîne |
Caractère métacaractère
Les caractères métacaractères sont des caractères ayant un sens spécial :
Caractère | Description | Exemple | TIY |
---|---|---|---|
[] | Un ensemble de caractères | "[a-m]" | Essayez |
\ | Illustration de séquence spéciale (peut également être utilisée pour échapper aux caractères spéciaux) | "\d" | Essayez |
. | Tous les caractères (sauf les caractères d'octroi de saut de ligne) | "he..o" | Essayez |
^ | Commence par | "^hello" | Essayez |
$ | Se termine par | "world$" | Essayez |
* | Apparitions zéro ou plusieurs fois | "aix*" | Essayez |
+ | Apparitions une ou plusieurs fois | "aix+" | Essayez |
{} | Apparitions spécifiquement indiquées | "al{2}" | Essayez |
| | l'un ou l'autre | "falls|stays" | Essayez |
()) | Capture et grouping |
Séquence spéciale
Une séquence spéciale est \
suivi de l'un des caractères de la table suivante, ayant un sens spécial :
Caractère | Description | Exemple | TIY |
---|---|---|---|
\A | Retourne un élément correspondant si le caractère spécifié se trouve au début de la chaîne | "\AThe" | Essayez |
\b | Retourne un élément correspondant où le caractère spécifié est situé au début ou à la fin du mot |
r"\bain" r"ain\b" |
Essayez Essayez |
\B | Retourne un élément correspondant où le caractère spécifié existe mais n'est pas au début (ou à la fin) du mot |
r"\Bain" r"ain\B" |
Essayez Essayez |
\d | Retourne un élément correspondant où la chaîne contient des chiffres (chiffres 0-9) | "\d" | Essayez |
\D | Retourne un élément correspondant où la chaîne ne contient pas de chiffres | "\D" | Essayez |
\s | Retourne un élément correspondant où la chaîne contient des caractères blancs | "\s" | Essayez |
\S | Retourne un élément correspondant où la chaîne ne contient pas de caractères blancs | "\S" | Essayez |
\w | Retourne un élément correspondant où la chaîne contient tout caractère de mot (Les caractères de l'alphabet de A à Z, les chiffres de 0 à 9 et le caractère de soulignement _) |
"\w" | Essayez |
\W | Retourne un élément correspondant où la chaîne ne contient aucun caractère de mot | "\W" | Essayez |
\Z | Retourne l'élément correspondant si le caractère spécifié se trouve à la fin de la chaîne | "Spain\Z" | Essayez |
Ensemble (Set)
L'ensemble (Set) est formé de deux crochets []
Un ensemble de caractères, ayant des significations spéciales :
Ensemble | Description | Essayez |
---|---|---|
[arn] | Retourne une correspondance où l'un des caractères spécifiés (a, r ou n) existe | Essayez |
[a-n] | Retourne les correspondances de tous les caractères minuscules entre a et n | Essayez |
[^arn] | Retourne les correspondances de tous les caractères autres que a, r et n | Essayez |
[0123] | Retourne les correspondances contenant n'importe quel nombre spécifié (0, 1, 2 ou 3) | Essayez |
[0-9] | Retourne les correspondances de tous les chiffres entre 0 et 9 | Essayez |
[0-5][0-9] | Retourne les correspondances de tous les chiffres entre 0 et 9 | Essayez |
[a-zA-Z] | Retourne les correspondances de tous les caractères entre a et z, minuscules ou majuscules | Essayez |
[+] | Dans l'ensemble, +, *, ., |, (), $, {} n'ont pas de signification spéciale, donc [+] signifie : retourne les correspondances de tous les caractères + dans la chaîne de caractères | Essayez |
Fonction findall()
findall()
La fonction retourne une liste contenant toutes les correspondances :
Exemple
Imprimez la liste de toutes les correspondances :
import re str = "China is a great country" x = re.findall("a", str) print(x)
Cette liste contient les correspondances trouvées dans l'ordre :
Retourne une liste vide si aucune correspondance n'est trouvée :
Exemple
Retourne une liste vide si la correspondance n'est pas trouvée :
import re str = "China is a great country" x = re.findall("USA", str) print(x)
Fonction search()
search()
La fonction recherche la correspondance dans la chaîne de caractères et retourne un objet Match si une correspondance existe.
Si plusieurs correspondances sont trouvées, le premier correspondant est retourné uniquement :
Exemple
Recherchez le premier caractère d'espace dans la chaîne :
import re str = "China is a great country" x = re.search("\s", str) print("La première caractère d'espace est situé à la position :", x.start())
Si la correspondance n'est pas trouvée, la valeur retournée est : None
:
Exemple
Effectuez une recherche sans retourner la correspondance :
import re str = "China is a great country" x = re.search("USA", str) print(x)
Fonction split()
split()
La fonction retourne une liste où la chaîne de caractères est divisée à chaque correspondance :
Exemple
Divisez la chaîne de caractères à chaque caractère d'espace :
import re str = "China is a great country" x = re.split("\s", str) print(x)
Vous pouvez spécifier maxsplit
Utilisez un paramètre pour contrôler le nombre d'apparitions :
Exemple
Divisez la chaîne de caractères uniquement au premier caractère d'espace :
import re str = "China is a great country" x = re.split("\s", str, 1) print(x)
Fonction sub()
sub()
La fonction remplace la correspondance par le texte que vous avez choisi :
Exemple
Remplacez chaque caractère d'espace par le chiffre 9 :
import re str = "China is a great country" x = re.sub("\s", "9", str) print(x)
Vous pouvez spécifier count
Paramètres pour contrôler le nombre de remplacements :
Exemple
Remplacement des deux premières occurrences :
import re str = "China is a great country" x = re.sub("\s", "9", str, 2) print(x)
Objet Match
L'objet Match est un objet contenant des informations sur la recherche et les résultats.
Remarque :Si aucune correspondance n'est trouvée, la valeur de retour None
au lieu de l'objet Match.
Exemple
La recherche retournera un objet Match :
import re str = "China is a great country" x = re.search("a", str) print(x) # Affichera un objet
L'objet Match fournit des attributs et des méthodes pour récupérer des informations sur la recherche et les résultats :
span()
Le tuple retourné contient la position de début et de fin de la correspondance.string
Retourner la chaîne passée à la fonctiongroup()
Retourner la partie de la chaîne correspondante
Exemple
Imprimer la position de la première occurrence de correspondance (position de début et de fin) :
Recherche d'expressions régulières commençant par une majuscule "C" pour toute les mots :
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.span())
Exemple
Imprimer la chaîne passée à la fonction :
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.string)
Exemple
Imprimer la partie de la chaîne correspondante.
Recherche d'expressions régulières commençant par une majuscule "C" pour toute les mots :
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.group())
Remarque :Si aucun élément correspondant n'est trouvé, la valeur de retour None
au lieu de l'objet Match.
- Page précédente JSON Python
- Page suivante PIP Python