Apprentissage du robot d'exploration Python (6) Introduction à la bibliothèque d'expressions régulières Re

(6) Introduction à la bibliothèque Re (expression régulière)

(1) Définition de base

  • Expression régulière, regex, RE
  • Les expressions régulières sont des expressions utilisées pour exprimer de manière concise un ensemble de chaînes
  • Les expressions régulières sont un outil pour exprimer les idées de «concision» et de «fonctionnalités» pour les chaînes
  • Les expressions régulières peuvent être utilisées pour déterminer l'attribut d'une chaîne

(2) Fonction

  • Caractéristique du type de texte (virus, intrusion, etc.)
  • Rechercher ou remplacer un ensemble de chaînes en même temps
  • Correspond à tout ou partie de la chaîne (application la plus importante)

(3) Grammaire

  • Les expressions régulières sont composées de caractères et d'opérateurs

1. Opérateurs couramment utilisés

Insérez la description de l'image iciInsérez la description de l'image ici

2. Exemples de grammaire

Insérez la description de l'image ici

3. Exemples classiques

Insérez la description de l'image ici

4. Expression régulière correspondant à l'adresse IP
Insérez la description de l'image ici

(4) Re bibliothèque

Introduction à la bibliothèque 1.Re

  • La bibliothèque Re est la bibliothèque standard de Python, principalement utilisée pour la correspondance de chaînes
  • importer re

2. Type de représentation

  • type de chaîne brute (type de chaîne native)
  • type de chaîne (plus fastidieux)
  • Recommandation: lorsque les expressions régulières contiennent des caractères d'échappement, utilisez une chaîne brute
# r'text'格式
r'[1-9]\d{5}'
r'\d{3}-\d{8}|\d{4}-\d{7}

# string格式
r'[1-9]\\d{5}'
r'\\d{3}-\\d{8}|\\d{4}-\\d{7}

3. Fonctions principales de la bibliothèque Re

Insérez la description de l'image ici

import re
#pattern : 正则表达式的字符串或原生字符串表达 
#repl    : 替换匹配字符串的字符串
#string  : 待匹配字符串
#count   : 匹配的最大替换次数
#maxsplit: 最大分割数,剩余部分作为最后一个元素输出
#flags	  : 正则表达式使用时的控制标记  ///下附常用标记说明

re.search(pattern, string, flags=0)

re.match(pattern, string, flags=0)

re.findall(pattern, string, flags=0)

re.split(pattern, string, maxsplit=0, flags=0)

re.finditer(pattern, string, flags=0)

re.sub(pattern, repl, string, count=0, flags=0)

Insérez la description de l'image ici

#Re库的等价用法

#函数式用法:一次性操作
rst = re.search(r'[1-9]\d{5}', 'BIT 100081')
#面向对象用法:编译后的多次操作
regex = re.compile(r'[1-9]\d{5}')
rst = regex.search('BIT 100081')

#将正则表达式的字符串形式编译成正则表达式对象
regex = re.compile(pattern, flags=0)

Insérez la description de l'image ici

4. Re Library Match object

  • L'objet Match est le résultat d'une correspondance et contient beaucoup d'informations de correspondance

1> Faire correspondre les propriétés des objets

Insérez la description de l'image ici

2> Méthode de correspondance d'objet

Insérez la description de l'image ici

3> Faire correspondre l'instance d'objet

Insérez la description de l'image ici

5. Correspondance gourmande et correspondance minimale de la bibliothèque Re

Insérez la description de l'image ici

  • Faites correspondre plusieurs articles de différentes longueurs en même temps, lequel est retourné?

1. Correspondance gourmande

  • La bibliothèque Re utilise une correspondance gourmande par défaut, c'est-à-dire que la sous-chaîne avec la correspondance la plus longue est sortie

2. Correspondance minimale

  • Comment sortir la sous-chaîne la plus courte?
  • Tant que la longueur de sortie peut être différente, elle peut être modifiée pour la plus petite correspondance en ajoutant? Après l'opérateurInsérez la description de l'image ici
10 articles originaux publiés · Like1 · Visites 134

Je suppose que tu aimes

Origine blog.csdn.net/qq_39419113/article/details/105681277
conseillé
Classement