Maison > développement back-end > Tutoriel Python > Comment utiliser les expressions régulières Python pour l'extraction de contenu

Comment utiliser les expressions régulières Python pour l'extraction de contenu

WBOY
Libérer: 2023-06-22 15:04:17
original
6902 Les gens l'ont consulté

Python est un langage de programmation de haut niveau largement utilisé avec de riches bibliothèques et outils qui rendent l'extraction de contenu plus facile et plus efficace. Parmi elles, les expressions régulières sont un outil très important, et Python fournit le module re pour utiliser des expressions régulières pour l'extraction de contenu. Cet article vous présentera les étapes spécifiques d'utilisation des expressions régulières Python pour l'extraction de contenu.

1. Comprendre la syntaxe de base des expressions régulières

Avant d'utiliser les expressions régulières Python pour l'extraction de contenu, vous devez d'abord comprendre les règles de syntaxe de base des expressions régulières. Une expression régulière est un modèle de texte utilisé pour décrire des modèles de caractères. Sa syntaxe de base comprend les éléments suivants :

1 : caractères qui représentent des significations spéciales, telles que : '.' signifie correspondre à n'importe quel caractère, '. ^' signifie correspondre au début de la ligne, '$' signifie correspondre à la fin de la ligne, etc.

2. Jeu de caractères : indique qu'il peut correspondre à l'un des plusieurs caractères, tels que : "[abc]" signifie qu'il correspond à l'un des "a", "b" et "c". personnages.

3. Quantificateur : un symbole indiquant le nombre de correspondances, tel que : '*' signifie correspondre à zéro ou plusieurs fois, '+' signifie correspondre à zéro ou plusieurs fois, '?' une fois attendre.

4. Regroupement : combinez plusieurs caractères en un tout pour les faire correspondre, par exemple : "(abc)" signifie faire correspondre l'ensemble "abc".

2. Utilisez le module re pour la correspondance d'expressions régulières

En Python, le principal outil d'extraction de contenu à l'aide d'expressions régulières est le module re. Ce module fournit un ensemble de fonctions qui facilitent la correspondance des expressions régulières.

1.re.match() fonction : fait correspondre l'expression régulière au début de la chaîne. Si la correspondance réussit, l'objet correspondant est renvoyé ; si la correspondance échoue, Aucun n'est renvoyé.

Exemple de code :

import re

# 匹配字符串中的数字
text = 'Hello 123456 World'
matchObj = re.match(r'd+', text)

if matchObj:
    print("matchObj.group() : ", matchObj.group())
else:
    print("No match!!")
Copier après la connexion

Résultat de sortie :

matchObj.group() : 123456
Copier après la connexion
Copier après la connexion

2.re.search() fonction : faire correspondre les expressions régulières dans la chaîne entière. Si la correspondance réussit, l'objet correspondant est renvoyé ; si la correspondance échoue, Aucun n'est renvoyé.

Exemple de code :

import re

# 搜索字符串中的数字
text = 'Hello 123456 World'
matchObj = re.search(r'd+', text)

if matchObj:
    print("matchObj.group() : ", matchObj.group())
else:
    print("No match!!")
Copier après la connexion

Résultat de sortie :

matchObj.group() : 123456
Copier après la connexion
Copier après la connexion

3.re.findall() fonction : Rechercher toutes les expressions régulières correspondantes dans une sous-chaîne de chaîne de la formule et renvoie une liste.

Exemple de code :

import re

# 查找字符串中的所有数字
text = 'Hello 123456 World'
matchList = re.findall(r'd+', text)

print(matchList)
Copier après la connexion

Résultat de sortie :

['123456']
Copier après la connexion

4.re.sub() fonction : remplace l'expression régulière correspondante dans une sous-chaîne de chaîne.

Exemple de code :

import re

# 将字符串中的数字替换为'X'
text = 'Hello 123456 World'
newText = re.sub(r'd+', 'X', text)

print(newText)
Copier après la connexion

Résultat de sortie :

Hello X World
Copier après la connexion

3. En savoir plus sur l'utilisation des expressions régulières Python.

Sur Internet, de nombreux sites Web imposent des restrictions aux robots d'exploration et nécessitent l'utilisation de cookies pour l'authentification. Alors, comment extraire les cookies des en-têtes de réponse HTTP à l'aide d'expressions régulières Python ? Veuillez consulter l'exemple de code ci-dessous :

import re

# 模拟HTTP响应头
responseHeader = '''
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Set-Cookie: SESSIONID=1234567890abcdef; Domain=example.com; Path=/
Set-Cookie: USERNAME=admin; Domain=example.com; Path=/
'''

# 提取cookie
cookiePattern = r'Set-Cookie: (.+?);'
cookieList = re.findall(cookiePattern, responseHeader)

# 输出cookie
print(cookieList)
Copier après la connexion

Résultat de sortie :

['SESSIONID=1234567890abcdef', 'USERNAME=admin']
Copier après la connexion

En utilisant la fonction re.findall() et le modèle d'expression régulière 'Set-Cookie : (.+ ? );', qui peut facilement extraire les informations sur les cookies des en-têtes de réponse HTTP.

4. Résumé

Cet article présente les règles de grammaire de base des expressions régulières Python et comment utiliser le module re pour la correspondance d'expressions régulières. À travers un exemple spécifique, il montre comment utiliser les expressions régulières Python pour extraire les cookies des en-têtes de réponse HTTP. Les expressions régulières sont un outil très important en Python, qui peut grandement faciliter l'extraction de contenu. J'espère que cet article pourra vous aider à mieux utiliser Python pour l'extraction de contenu.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal