Maison > développement back-end > Tutoriel Python > Quand devez-vous utiliser le préfixe \'r\' dans les expressions régulières Python ?

Quand devez-vous utiliser le préfixe \'r\' dans les expressions régulières Python ?

Susan Sarandon
Libérer: 2024-10-19 17:07:02
original
453 Les gens l'ont consulté

When Should You Use the 'r' Prefix in Python Regular Expressions?

Python regex - préfixe r

Le module d'expression régulière de Python prend en charge le préfixe r, ce qui signifie que la chaîne suivante doit être traité comme une chaîne brute. Ceci est particulièrement utile lorsque vous travaillez avec des séquences d'échappement, car le préfixe r empêche Python d'interpréter la barre oblique inverse comme un caractère d'échappement.

Cependant, le préfixe r est pas toujours nécessaire. Par exemple, les séquences d'échappement qui ne sont pas valides en Python seront toujours interprétées comme des séquences d'échappement même si le préfixe r n'est pas utilisé. Par exemple, dans le premier exemple :

import re
print (re.sub('\s+', ' ', 'hello     there      there'))
Copier après la connexion

Le modèle d'expression régulière 's' correspond à un ou plusieurs caractères d'espacement. Le préfixe r n'est pas requis dans ce cas car la barre oblique inverse n'est pas utilisée comme caractère d'échappement (il définit simplement la plage de caractères à correspondre).

Cependant, le r Le préfixe 🎜>r

est requis lors de l'utilisation de séquences d'échappement valides en Python. Par exemple, dans le deuxième exemple :
import re
print (re.sub(r'(\b\w+)(\s+\b)+', r'', 'hello     there      there'))
Copier après la connexion

Le modèle d'expression régulière r'(bw )(s 1b) ' correspond à un mot qui est répété au moins une fois avec des espaces entre les deux. Le préfixe r

est requis dans ce cas car la barre oblique inverse est utilisée comme caractère d'échappement pour définir les limites du mot.

Enfin, le préfixe r

n'est pas toujours requis si une chaîne brute est utilisée. Par exemple, le troisième exemple est équivalent au deuxième exemple :
import re
print (re.sub('(\b\w+)(\s+\b)+', '', 'hello     there      there'))
Copier après la connexion

Dans ce cas, le préfixe r

n'est pas utilisé, mais le modèle d'expression régulière est toujours traité comme un chaîne brute. En effet, la chaîne entière littérale est entourée de guillemets simples, ce qui désigne une chaîne brute en Python.

En conclusion, le préfixe r

n'est pas toujours nécessaire, mais il est recommandé lors de l'utilisation séquences d'échappement valides en Python.

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!

source:php
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal