Expressions régulières pour renforcer la connaissance de Python (3)

Opérateurs d'expressions régulières couramment utilisés

Insérez la description de l'image ici

Insérez la description de l'image ici

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:
Insérez la description de l'image ici

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\'

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42272869/article/details/113786457
conseillé
Classement