Maison >développement back-end >Tutoriel Python >Quand devez-vous utiliser le préfixe \'r\' dans les expressions régulières Python ?
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'))
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'))
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'))
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!