


Introduction aux expressions régulières Python et à la bibliothèque (exemples de code)
Cet article vous apporte une introduction (exemple de code) sur les expressions régulières Python et la bibliothèque. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Une expression régulière est une séquence de caractères qui définit un modèle de recherche. Généralement, ce modèle est utilisé par les algorithmes de recherche de chaînes pour les opérations de « recherche » ou « rechercher et remplacer » sur les chaînes, ou pour la validation des entrées.
1. Syntaxe d'expression régulière
Représente n'importe quel caractère unique
[] Jeu de caractères. , donnant une plage de valeurs pour un seul caractère
[^] Jeu de non-caractères, donnant une plage d'exclusion pour un seul caractère
* Le caractère précédent est développé 0 fois ou à l'infini
+ le caractère précédent est développé 1 fois ou à l'infini
?Le caractère précédent est développé 0 fois fois ou 1 extension
|L'une des expressions gauche et droite
{m} développe le caractère précédent m fois
{m,n} développe le caractère précédent m à n fois
^ correspond au début de la chaîne
$ correspond à la marque de regroupement de fin de chaîne
(), seuls les nombres de l'opérateur |
d peuvent être utilisés en interne, ce qui est équivalent à [0-9]
w caractère de mot, équivalent à [A-Z,a-z,0-9]
2. Utilisation de la bibliothèque re en python
La bibliothèque Re est la bibliothèque standard de Python, principalement utilisée pour la correspondance de chaînes. La méthode d'appel : import re
Type de chaîne d'expression régulière<.>
re La bibliothèque utilise le type de chaîne brute pour représenter les expressions régulières, qui s'exprime comme
r'text'la chaîne brute est une chaîne qui ne contient plus de caractères d'échappement , en bref, String échappera les caractères, mais pas la chaîne brute, car les symboles d'échappement apparaîtront dans les expressions régulières, donc pour éviter l'ennui, nous utilisons la chaîne brute
- re.search
() recherche la première position de l'expression régulière dans une chaîne et renvoie l'objet de correspondance
- re .match()
Correspond à une expression régulière à partir du début d'une chaîne et renvoie un objet de correspondance
- re.findall()
Chaîne de recherche, renvoie tout correspondance des sous-chaînes dans le type de liste
- re.split()
Divise une chaîne en fonction du résultat de correspondance de l'expression régulière et renvoie le type de liste
- re.finditer()
Recherche une chaîne et renvoie un type d'itération de résultats correspondants. Chaque élément d'itération est un objet de correspondance
- re. sub()
Remplacez toutes les sous-chaînes correspondant à l'expression régulière dans une chaîne et renvoyez la chaîne remplacée
2.2. re.search(pattern, string, flags=0)
Recherchez la première position de l'expression régulière dans une chaîne et renvoyez l'objet de correspondance
- modèle : la chaîne ou la représentation sous forme de chaîne native de l'expression régulière
- string : la chaîne à rechercher
- flags : lorsque l'expression régulière est utilisée La balise de contrôle
- re.I re.IGNORECASE ignore la casse de l'expression régulière, [A‐Z] peut correspondre aux caractères minuscules
- re.M re.MULTILINE L'opérateur ^ dans les expressions régulières peut démarrer chaque ligne d'une chaîne donnée comme correspondance
- re.S re.DOTALL dans les expressions régulières L'opérateur peut faire correspondre tous les caractères, et par défaut correspond à tous les caractères sauf les nouvelles lignes
- Exemple :
import re match = re.search(r'[1-9]\d{5}', 'BIT 100081') if match: print(match.group(0)) 结果为100081
correspond à l'expression régulière du début d'un string et renvoie l'objet de correspondance.
les paramètres sont les mêmes que la fonction de recherche Exemple :
import re match = re.match(r'[1-9]\d{5}', 'BIT 100081') print(match.group(0)) 结果会报错,match为空,因为match函数是 从字符串开始位置开始匹配,因为从开始位置没有匹配到,所以为空
Les paramètres sont les mêmes que la recherche
Exemple :
2.2.4 re.split(pattern, string, maxsplit=0, flags=0)
import re ls=re.findall(r'[1-9]\d{5}', 'BIT100081 TSU100084') print(ls) 结果为['100081', '100084']
maxsplit : le nombre maximum de divisions , la partie restante est affichée comme dernier élément
- Exemple :
2.2.5 re.finditer(pattern, string, maxsplit=0, flags. =0)
import re re.split(r'[1-9]\d{5}', 'BIT100081 TSU100084') 结果['BIT', ' TSU', ' '] re.split(r'[1-9]\d{5}', 'BIT100081 TSU100084', maxsplit=1) 结果['BIT', ' TSU100081']
Les paramètres sont les mêmes que ceux de la recherche
Exemple :
2.2.6. re.sub(pattern, repl, string, count=0, flags=0)
import re for m in re.finditer(r'[1-9]\d{5}', 'BIT100081 TSU100084'): if m: print(m.group(0)) 结果为 100081 100084
repl : Remplacer la chaîne correspondante par la chaîne
- count : Le nombre maximum de remplacements correspondants
- Exemple :
2.3 Une autre utilisation équivalente de la bibliothèque Re (orientée objet)
import re re.sub(r'[1-9]\d{5}', ':zipcode', 'BIT100081 TSU100084') 结果为 'BIT:zipcode TSU:zipcode'
rst=re.search(r'[1-9]\d{5}', 'BIT 100081') 函数式的调用,一次性操作
pat=re.compile(r'[1-9]\d{5}') rst=pat.search('BIT 100081') 编译后多次操作
2.4 Objet de correspondance de la bibliothèque Re
.string Le texte à faire correspondre
- .re Objet Patter (expression régulière) utilisé lors de la correspondance
.pos La position de départ du texte de recherche d'expression régulière
.endpos La position de fin du texte de recherche d'expression régulière
Voici les méthodes de l'objet Match
.group(0) pour obtenir la chaîne correspondante
.start() correspond à la chaîne au début de la chaîne d'origine
.end() correspond à la chaîne à la fin de la chaîne d'origine
.span() renvoie (.start(), .end())
2.5 Correspondance gourmande et correspondance minimale de la bibliothèque Re
Lorsqu'une expression régulière peut correspondre à plusieurs éléments de longueurs différentes, lequel est renvoyé ? La bibliothèque Re utilise la correspondance gourmande par défaut, c'est-à-dire qu'elle renvoie la sous-chaîne correspondante la plus longue
la plus petite correspondance
*? avant Un caractère est développé 0 fois ou à l'infini, la correspondance minimale est
+ Le caractère précédent est développé 1 fois ou à l'infini, la correspondance minimale est
? Développez le caractère précédent 0 ou 1 fois, la correspondance minimale est
{m,n} ? ), la correspondance minimale est
Tant que la longueur de sortie peut être différente, vous pouvez ajouter ? après l'opérateur pour devenir la correspondance minimale
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

De nombreux développeurs de sites Web sont confrontés au problème de l'intégration de Node.js ou des services Python sous l'architecture de lampe: la lampe existante (Linux Apache MySQL PHP) a besoin d'un site Web ...

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Lorsque vous utilisez Scapy Crawler, la raison pour laquelle les fichiers de stockage persistants ne peuvent pas être écrits? Discussion Lorsque vous apprenez à utiliser Scapy Crawler pour les robots de données, vous rencontrez souvent un ...

Précision avec Python: Source de sablier Dessin graphique et vérification d'entrée Cet article résoudra le problème de définition variable rencontré par un novice Python dans le programme de dessin graphique de sablier. Code...

Python Process Pool gère les demandes TCP simultanées qui font coincé le client. Lorsque vous utilisez Python pour la programmation réseau, il est crucial de gérer efficacement les demandes TCP simultanées. ...

Explorez profondément la méthode de visualisation de Python Functools.Partial Objet dans Functools.Partial en utilisant Python ...

Choix de la bibliothèque de développement d'applications de bureau multiplateforme Python De nombreux développeurs Python souhaitent développer des applications de bureau pouvant s'exécuter sur Windows et Linux Systems ...

De nombreux développeurs s'appuient sur PYPI (PythonPackageIndex) ...
