J'oublie souvent l'opération lorsque je veux gérer des expressions régulières en Python, alors notez ce que vous recherchez souvent. Je l'ajouterai lorsque le nombre d'éléments fréquemment recherchés augmentera. Si vous souhaitez voir les informations complètes, accédez à Documents officiels. N'oubliez pas d'importer re. Pour référence, j'ai laissé une note sur la grammaire des expressions régulières à ici.
Un résumé des fonctions introduites. Ici, pattern représente un objet d'expression régulière arbitraire et match représente un objet de correspondance arbitraire.
une fonction | Contenu |
---|---|
re.compile(r"Expressions régulières") | Expressions régulièresオブジェクトの生成 |
pattern.search(Chaîne) | Chaîne内でpatternに一致した最初のマッチオブジェクト |
pattern.finditer(Chaîne) | Chaîne内でpatternに一致した全てのマッチオブジェクトのイテレータ |
match.start( ) | Index de départ dans la chaîne de résultat de la recherche |
match.end( ) | Index de fin dans la chaîne de résultat de la recherche |
match[0] | Chaîne de résultats de recherche |
Par exemple, lorsque vous voulez savoir si la chaîne «Je suis un débutant Python A» contient des «lettres majuscules de l'alphabet».
search_exam_1.py
import re
string = "Je suis Python débutant A" #Définition de la chaîne
pattern = re.compile(r"[A-Z]") #Définition du modèle d'expression régulière
result = pattern.search(string) #Chercher
print(result)
print(result.start())
print(result.end())
<re.Match object; span=(2, 3), match='P'>
2
3
Lors de l'utilisation d'une expression régulière, il est nécessaire de la traiter pour qu'elle soit reconnue comme une expression régulière. Le processus est re.compile ()
. Si vous utilisez re.search (r" [A-Z] ", string)
pour assembler les 3ème et 4ème lignes, un objet d'expression régulière sera créé chaque fois qu'il y aura plusieurs textes.
De plus, s'il y a un \ (symbole circulaire) dans l'expression régulière, il est nécessaire d'entourer la chaîne de caractères avec r" "
pour qu'elle soit reconnue correctement. Ensuite, Python reconnaîtra que la chaîne à l'intérieur est brute. Pour plus de détails, reportez-vous au début du Document officiel.
L'objet renvoyé à "result" est appelé un objet de correspondance et contient des informations sur le premier résultat dans la chaîne de recherche. Il est pratique de pouvoir obtenir les index de début et de fin avec les méthodes start ()
et ʻend () `, respectivement.
Lorsque vous voulez obtenir ** tout ** de «l'alphabet supérieur» contenu dans la chaîne «Je suis un débutant Python A».
search_exam_2.py
import re
string = "Je suis Python débutant A" #Définition de la chaîne
pattern = re.compile("[A-Z]") #Définition du modèle d'expression régulière
results = pattern.finditer(string) #Rechercher des chaînes
for result in results: #Itérateur des résultats de recherche(results)En conséquence
print(result[0]) #Faire correspondre l'élément d'objet
print(result.start(), result.end())
P
2 3
A
11 12
Si vous recherchez une chaîne de caractères avec finditer
, l'itérateur de l'objet de correspondance sera renvoyé, alors développez-le un par un avec l'instruction for. De multiples recherches sont réalisées de cette manière.
Qu'est-ce que le résultat [0]? L'opération d'accès au groupe 0 dans l'objet de correspondance. Si vous recherchez plusieurs chaînes de caractères, il y aura plusieurs groupes dans l'objet de correspondance.
Ici, pattern représente un objet d'expression régulière arbitraire et match représente un objet de correspondance arbitraire.
une fonction | Contenu |
---|---|
re.compile(r"Expressions régulières") | Expressions régulièresオブジェクトの生成 |
pattern.search(Chaîne) | Chaîne内でpatternに一致した最初のマッチオブジェクト |
pattern.finditer(Chaîne) | Chaîne内でpatternに一致した全てのマッチオブジェクトのイテレータ |
match.start( ) | Index de départ dans la chaîne de résultat de la recherche |
match.end( ) | Index de fin dans la chaîne de résultat de la recherche |
match[0] | Chaîne de résultats de recherche |
Pour l'instant, les éléments associés à la recherche et à la recherche sont répertoriés. Je l'ajouterai à nouveau à l'avenir.
Recommended Posts