Opérateurs d'expressions régulières couramment utilisés
Re bibliothèque
Les expressions régulières (noms anglais: expression régulière, regex, RE) sont des expressions utilisées pour exprimer de manière concise un ensemble de chaînes de caractères. L'application principale est en correspondance de chaînes.
Introduction du mode:
1) .re.I (re.IGNORECASE): Ignorer la casse
2) .re.M (MULTILINE): Mode multiligne , changez le comportement de '^' et '$'
3) .re.S (DOTALL): Cliquez sur n'importe quel mode de correspondance pour modifier le comportement de '.'
4) .re.L (LOCALE): Rend la classe de caractères prédéterminée \ w \ W \ b \ B \ s \ S dépendante du paramètre régional actuel
5) .re.U (UNICODE): Faire dépendre la classe de caractères prédéterminée \ w \ W \ b \ B \ s \ S \ d \ D de l'attribut de caractère défini par unicode
6) .re.X (VERBOSE): mode détaillé. Dans ce mode, l'expression régulière peut être composée de plusieurs lignes, ignorer les espaces et ajouter des commentaires
Introduction de la fonction:
1 、 re.search (modèle, chaîne, drapeaux = 0)
Recherchez la première position d'une expression régulière correspondante dans une chaîne et renvoyez un objet de correspondance.
modèle: chaîne ou représentation sous forme de chaîne native d'une expression régulière
string: la chaîne à mettre en correspondance
flags: indicateurs de contrôle lors de l'utilisation d'expressions régulières, quel mode
La première:
# -*- coding = utf-8 -*-
import re
# 创建模式对象
pat = re.compile("aa") # 此处的aa是正则表达式
reh = pat.search("aaa") # search后的字符串是被校验的字符串
print(reh)
# <re.Match object; span=(0, 2), match='aa'>
Le deuxième type:
pat = re.search("aa","aaa")
print(pat)
# <re.Match object; span=(0, 2), match='aa'>
2 、 re.match (motif, chaîne, drapeaux = 0)
Correspond à l'expression régulière du début d'une chaîne et renvoie l'objet de correspondance.
modèle: chaîne ou représentation sous forme de chaîne native d'une expression régulière
string: la chaîne à mettre en correspondance
flags: indicateurs de contrôle lors de l'utilisation d'expressions régulières
La première:
pat = re.match("a","aaaa")
print(pat)
# <re.Match object; span=(0, 1), match='a'>
Le deuxième type:
pat = re.compile("a")
p = pat.match("aaaa")
print(p)
# <re.Match object; span=(0, 1), match='a'>
3 、 re.findall (modèle, chaîne, drapeaux = 0)
Chaîne de recherche, retourne toutes les sous-chaînes correspondantes dans le type de liste.
modèle: chaîne ou représentation sous forme de chaîne native d'une expression régulière
string: la chaîne à mettre en correspondance
flags: indicateurs de contrôle lors de l'utilisation d'expressions régulières
La première:
pat = re.findall("a","aassaaddd");
print(pat)
# ['a', 'a', 'a', 'a']
Le deuxième type:
# 创建模式对象
pat = re.compile("a") # 此处的aa是正则表达式
re = pat.findall("aassaaddd") # search后的字符串是被校验的字符串
print(re)
4 、 re.split (modèle, chaîne, maxsplit = 0, drapeaux = 0)
Chaîne de recherche, retourne toutes les sous-chaînes correspondantes dans le type de liste.
modèle: chaîne ou représentation sous forme de chaîne native d'une expression régulière
string: la chaîne à mettre en correspondance
maxsplit: le nombre maximum de divisions, la partie restante est sortie comme dernier élément
flags: indicateurs de contrôle lors de l'utilisation d'expressions régulières
La première:
pat = re.split("a","hadhks",2)
print(pat)
# ['h', 'dhks']
5 、 re.finditer (modèle, chaîne, drapeaux = 0)
La chaîne de recherche renvoie un type d'itération du résultat correspondant et chaque élément d'itération est un objet de correspondance.
modèle: chaîne ou représentation sous forme de chaîne native d'une expression régulière
string: la chaîne à mettre en correspondance
flags: indicateurs de contrôle lors de l'utilisation d'expressions régulières
La première:
pat = re.finditer("a","aabbss")
for i in pat:
print(i)
# <re.Match object; span=(0, 1), match='a'>
# <re.Match object; span=(1, 2), match='a'>
6 、 re.sub (modèle, répl, chaîne, compte = 0, drapeaux = 0)
Remplacez toutes les sous-chaînes correspondant à l'expression régulière dans une chaîne et renvoyez la chaîne remplacée.
modèle: chaîne ou représentation sous forme de chaîne native d'une expression régulière
repl: remplace la chaîne correspondant à la chaîne
string: la chaîne à mettre en correspondance
count: le nombre maximum de remplacements correspondants
flags: indicateurs de contrôle lors de l'utilisation d'expressions régulières
La première:
pat = re.sub("a","b","aaaadddvvv",5)
print(pat)
# bbbbdddvvv
Une autre utilisation équivalente de la bibliothèque Re:
Utilisation fonctionnelle: opération unique
rst = re.search(r'[1-9]\d{5}', 'BIT 100081')
Utilisation orientée objet: plusieurs opérations après la compilation
pat = re.compile(r'[1-9]\d{5}')
rst = pat.search('BIT 100081')
regex = re.comile(pattern,flags=0)
Compilez la forme de chaîne de l'expression régulière dans un objet d'expression régulière
modèle: chaîne ou représentation sous forme de chaîne native d'une expression régulière
flags: indicateurs de contrôle lors de l'utilisation d'expressions régulières
Regex est l'expression régulière: regex = re.compile (r '[1-9] \ d {5}')
Ajoutez r avant la chaîne correspondante pour éviter les caractères d'échappement
s = r"'ssssss\'"
print(s)
# 'ssssss\'