浅析python正则表达式中反斜线的转义功能的原理
本篇文章给大家带来的内容是关于浅析python正则表达式中反斜线的转义功能的原理,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
最近深入研读了正则表达式的一本经典著作,对于在python中使用正则表达式时使用反斜线转义功能时有些心得,特与大家分享。
核心思想:在python中使用正则表达式时要切记反斜线具有两层转义功能,如果你要匹配一个反斜线本身时要注意它必须被转义两次。(除非你使用原始字符串,就是字符串前面加r)
我们先来看一个例子:
import re a = re.match('\\\','\\')
File "<ipython-input-93-6e1102e416ee>", line 2 a = re.match('\\\','\\') ^ SyntaxError: unexpected character after line continuation character
上面这个例子本身就不合语法要求,那么为什么呢? 首先在
python中,因为正则表达式本身是一个字符串,所以它要遵守字符串的规则——反斜线表示转义符
而在正则表达式中反斜线又是一个具有转义功能的元字符,所以反斜线具备了双重转义功能
回到例子中,第一个转义了第二个,此时第二个去除了字符串转义符的身份,但是它还有正则表达式转义元字符的身份,也就是说第二个仍然具备转义功能,那么它转义谁呢?它只能转义第三个,可是第三个它具备两层身份(字符串的转义符和正则表达式的转义元字符)
所以现在有两种可能情况发生:
第一种,第二个无法转义第三个,因为身份不符,一个是正则表达式转义元字符,另一个是字符串转义符
第二种,第二个转义了第三个,但是这种转义也仅仅是去除了一层身份,但是它还有一层身分(转义元字符)结果就是第三个仍然具有转义功能。
总之不管这时发生了哪种情况,第三个最终结果就是仍然具备转义功能,他会转义它后面的单引号,使得整段代码语法错误。
所以正确的写法是再添加一个反斜线,四个反斜线,两两转义之后最终转义成匹配单独一个反斜线的功能
import re a = re.match('\\\\','\\') print(a) #显示的结果match='\\',之所以显示两个反斜线是因为语法规定一个反斜线无法显示(\是转义符)
<_sre.SRE_Match object; span=(0, 1), match='\\'>
当然也可以使用原始字符串的方法,在字符串前面加r,这时里面的反斜线就失去字符串转义符的功能了,本文主要讨论实质原理,不是方法
import re a = re.match(r'\\','\\') print(a)
<_sre.SRE_Match object; span=(0, 1), match='\\'>
Atas ialah kandungan terperinci 浅析python正则表达式中反斜线的转义功能的原理. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Ekspresi biasa Python ialah alat padanan yang berkuasa yang boleh membantu kami mengenal pasti dan menggantikan teks, gaya dan format dengan cepat dalam pemprosesan fail Word. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk pemprosesan fail Word. 1. Pasang perpustakaan Python-docx Python-docx ialah perpustakaan berfungsi untuk memproses dokumen Word dalam Python Anda boleh menggunakannya untuk membaca, mengubah suai, mencipta dan menyimpan dokumen Word dengan cepat. Sebelum menggunakan Python-docx, anda perlu memastikan

Ungkapan biasa Python ialah alat berkuasa yang membantu kami melakukan pemadanan dan carian yang tepat dan cekap dalam data teks. Ungkapan biasa juga amat berguna dalam pemprosesan nombor dan jumlah, dan boleh mencari dan mengekstrak maklumat nombor dan jumlah dengan tepat. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk memproses nombor dan jumlah, membantu pembaca menangani tugas pemprosesan data sebenar dengan lebih baik. 1. Nombor proses 1. Padankan integer dan nombor titik terapung Dalam ungkapan biasa, untuk memadankan integer dan nombor titik terapung, anda boleh menggunakan d+ untuk padanan.

Dalam orkestrasi kontena, kita selalunya perlu menapis, memadankan dan menggantikan beberapa maklumat. Python menyediakan ungkapan biasa, alat berkuasa yang boleh membantu kami menyelesaikan operasi ini. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk orkestrasi kontena, termasuk pengetahuan asas ungkapan biasa, cara menggunakan modul Pythonre dan beberapa aplikasi ungkapan biasa biasa. 1. Pengetahuan asas tentang ungkapan biasa Ungkapan biasa (RegularExpression) merujuk kepada corak teks, digunakan

Ungkapan biasa Python ialah alat yang berkuasa untuk memproses data teks. Dalam pemprosesan bahasa semula jadi, pembahagian perkataan adalah tugas penting, yang memisahkan teks kepada perkataan individu. Dalam Python, kita boleh menggunakan ungkapan biasa untuk menyelesaikan tugas pembahagian perkataan. Berikut akan menggunakan Python3 sebagai contoh untuk memperkenalkan cara menggunakan ungkapan biasa untuk pembahagian perkataan. Import modul semula Modul semula ialah modul ekspresi biasa terbina dalam Python Anda perlu mengimport modul terlebih dahulu. teks definisi import

Python ialah bahasa pengaturcaraan peringkat tinggi yang digunakan secara meluas dengan set perpustakaan dan alatan yang kaya yang menjadikan pengekstrakan kandungan lebih mudah dan lebih cekap. Antaranya, ungkapan biasa adalah alat yang sangat penting, dan Python menyediakan modul semula untuk menggunakan ungkapan biasa untuk pengekstrakan kandungan. Artikel ini akan memperkenalkan anda kepada langkah khusus tentang cara menggunakan ungkapan biasa Python untuk pengekstrakan kandungan. 1. Fahami sintaks asas ungkapan biasa Sebelum menggunakan ungkapan biasa Python untuk pengekstrakan kandungan, anda perlu memahami sintaks asas ungkapan biasa.

Dalam pengekodan harian, kita sering perlu mengubah suai dan membina semula kod untuk meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Salah satu alat penting ialah ungkapan biasa. Artikel ini akan memperkenalkan beberapa teknik biasa tentang cara menggunakan ungkapan biasa Python untuk pemfaktoran semula kod. 1. Cari dan Ganti Salah satu fungsi ungkapan biasa yang paling biasa digunakan ialah cari dan ganti. Katakan kita perlu menggantikan semua kenyataan cetakan dalam kod dengan kenyataan log. Kita boleh menggunakan ungkapan biasa berikut untuk mencarinya: prints*((.

Ekspresi biasa Python ialah alat pemprosesan rentetan berdasarkan padanan corak, yang boleh membantu kami mengekstrak maklumat yang diperlukan daripada teks dengan cepat dan cekap. Dalam struktur data dan algoritma, ungkapan biasa boleh digunakan untuk melaksanakan pemadanan teks, penggantian, pembahagian dan fungsi lain, memberikan sokongan yang lebih berkuasa untuk pengaturcaraan kami. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk struktur data dan algoritma. 1. Pengetahuan asas ungkapan biasa Sebelum bermula, mari kita fahami beberapa pengetahuan asas ungkapan biasa: Set aksara: diwakili oleh kurungan segi empat sama,

Dalam pembangunan perisian, estetika kod dan pengalaman pengguna sering diabaikan, yang membawa kepada banyak masalah perisian dalam penggunaan sebenar. Python, sebagai bahasa pengaturcaraan yang berkuasa, menyediakan ungkapan biasa sebagai alat yang berkuasa untuk membantu kami menyelesaikan masalah ini. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa Python untuk estetika kod dan pengalaman pengguna. 1. Pengenalan kepada ungkapan biasa Python Ungkapan biasa ialah bahasa yang menerangkan corak teks dan boleh digunakan untuk memadankan, mencari, menggantikan dan memisahkan teks. Modul semula Python menyediakan
