Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapakah awalan r tidak selalu diperlukan untuk regex dalam Python?

Mengapakah awalan r tidak selalu diperlukan untuk regex dalam Python?

DDD
Lepaskan: 2024-10-19 17:08:30
asal
480 orang telah melayarinya

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

Python regex - r awalan

Sesetengah mungkin tertanya-tanya mengapa regex berikut berfungsi, walaupun tanpa awalan r:

<code class="python">import re
print (re.sub('\s+', ' ', 'hello     there      there'))</code>
Salin selepas log masuk

Ia biasanya berpendapat bahawa awalan r diperlukan setiap kali urutan melarikan diri digunakan, tetapi contoh ini nampaknya bercanggah dengannya.

Jujukan melarikan diri dan rentetan mentah

Awalan r digunakan untuk mencipta "rentetan mentah" , yang bermaksud bahawa urutan pelarian dalam rentetan tidak akan ditafsirkan sebagai aksara khas. Ini boleh berguna apabila anda ingin menggunakan aksara yang biasanya ditafsirkan sebagai jujukan melarikan diri, seperti garis miring ke belakang ().

Dalam contoh di atas, jujukan melarikan diri s digunakan untuk memadankan satu atau lebih ruang putih watak. Tanpa awalan r, jujukan pelarian ini akan ditafsirkan sebagai aksara tab (t). Walau bagaimanapun, kerana awalan r digunakan, jujukan melarikan diri ditafsirkan secara literal dan sepadan dengan satu atau lebih aksara ruang kosong.

Pengecualian kepada peraturan

Terdapat beberapa pengecualian kepada peraturan yang melarikan diri jujukan mesti digunakan dengan awalan r. Satu pengecualian ialah n jujukan melarikan diri, yang digunakan untuk mewakili aksara baris baharu. Jujukan melarikan diri ini boleh digunakan tanpa awalan r, seperti yang ditunjukkan dalam contoh berikut:

<code class="python">print '\n'</code>
Salin selepas log masuk

Satu lagi pengecualian ialah \ jujukan melarikan diri, yang digunakan untuk mewakili aksara garis miring ke belakang. Urutan melarikan diri ini juga boleh digunakan tanpa awalan r, seperti ditunjukkan dalam contoh berikut:

<code class="python">print '\'</code>
Salin selepas log masuk

Kesimpulan

Awalan r tidak selalu diperlukan apabila menggunakan jujukan melarikan diri dalam Python. Walau bagaimanapun, secara amnya adalah idea yang baik untuk menggunakan awalan r untuk mengelakkan sebarang kekeliruan atau tingkah laku yang tidak dijangka.

Atas ialah kandungan terperinci Mengapakah awalan r tidak selalu diperlukan untuk regex dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan