Pourquoi un préfixe r n'est-il pas toujours requis pour les regex en Python ?

DDD
Libérer: 2024-10-19 17:08:30
original
373 Les gens l'ont consulté

Why is an r prefix not always required for regex in Python?

Regex Python - préfixe r

Certains peuvent se demander pourquoi l'expression régulière suivante fonctionne, même sans le préfixe r :

<code class="python">import re
print (re.sub('\s+', ' ', 'hello     there      there'))</code>
Copier après la connexion

C'est généralement Je pensais que le préfixe r est requis chaque fois que des séquences d'échappement sont utilisées, mais cet exemple semble contredire cela.

Séquences d'échappement et chaînes brutes

Le préfixe r est utilisé pour créer une "chaîne brute" , ce qui signifie que les séquences d'échappement dans la chaîne ne seront pas interprétées comme des caractères spéciaux. Cela peut être utile lorsque vous souhaitez utiliser un caractère qui est normalement interprété comme une séquence d'échappement, comme la barre oblique inverse ().

Dans l'exemple ci-dessus, la séquence d'échappement s est utilisée pour faire correspondre un ou plusieurs espaces. personnages. Sans le préfixe r, cette séquence d'échappement serait interprétée comme un caractère de tabulation (t). Cependant, comme le préfixe r est utilisé, la séquence d'échappement est interprétée littéralement et correspond à un ou plusieurs caractères d'espacement.

Exceptions à la règle

Il existe quelques exceptions à la règle selon laquelle les séquences d'échappement doit être utilisé avec le préfixe r. Une exception est la séquence d'échappement n, qui est utilisée pour représenter un caractère de nouvelle ligne. Cette séquence d'échappement peut être utilisée sans le préfixe r, comme le montre l'exemple suivant :

<code class="python">print '\n'</code>
Copier après la connexion

Une autre exception est la séquence d'échappement \, qui est utilisée pour représenter un caractère barre oblique inverse. Cette séquence d'échappement peut également être utilisée sans le préfixe r, comme le montre l'exemple suivant :

<code class="python">print '\'</code>
Copier après la connexion

Conclusion

Le préfixe r n'est pas toujours requis lors de l'utilisation de séquences d'échappement en Python. Cependant, c'est généralement une bonne idée d'utiliser le préfixe r pour éviter toute confusion ou comportement inattendu.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!