Rumah >pembangunan bahagian belakang >Tutorial Python >Python regex: Adakah Awalan \'r\' Wajib untuk Urutan Melarikan Diri?
Mengapa contoh pertama di bawah berfungsi tanpa awalan "r" sebelum urutan pelarian? Lazimnya dipercayai bahawa ia harus diwajibkan apabila berurusan dengan urutan pelarian.
<code class="python"># example 1 import re print(re.sub('\s+', ' ', 'hello there there')) # prints 'hello there there' - not expected as r prefix is not used</code>
Awalan "r" tidak selalu diperlukan dalam corak regex, walaupun peraturan umum yang mengesyorkannya gunakan.
Dalam urutan melarikan diri, garis miring ke belakang () berfungsi sebagai penunjuk untuk mentafsir jujukan aksara khas atau untuk melarikan watak dengan makna istimewa. Walau bagaimanapun, bukan semua jujukan yang didahului oleh garis miring belakang dianggap jujukan melarikan diri yang sah.
Untuk menggambarkan ini, pertimbangkan contoh berikut:
Apabila awalan "r" tidak hadir sebelum jujukan melarikan diri, Python mentafsirnya hanya jika jujukan melarikan diri yang diiktiraf. Dalam erti kata lain, ia tidak akan cuba untuk mentafsir urutan pelarian yang tidak sah seperti 's'.
Tingkah laku ini boleh diperhatikan dalam contoh pertama yang disediakan:
Walau bagaimanapun, apabila awalan "r" digunakan, semua aksara dalam corak ditafsir secara literal. Ini bermakna r's' mewakili aksara garis miring ke belakang literal diikuti dengan huruf 's'.
Walaupun awalan "r" tidak diperlukan dengan ketat untuk semua jujukan melarikan diri, ia secara amnya disyorkan untuk menggunakannya, terutamanya apabila bekerja dengan corak kompleks yang merangkumi berbilang urutan pelarian. Ini membantu mengelakkan kekeliruan dan akibat yang tidak diingini.
Atas ialah kandungan terperinci Python regex: Adakah Awalan \'r\' Wajib untuk Urutan Melarikan Diri?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!