python 正則表達式之轉義字符


####最近在整理python相關的知識,使用python對網站進行爬取數據的時候,需要使用到轉義字符,之前對轉義字符理解一直比較模糊,並且在python中還有一個叫原生字符r。所以通過網上調查資料對該內容進行整理,已備不時之需。

###字符串轉義 ####反斜杠,在python中比較特殊,就是它可以用來構成一些特殊字符,比如"\n"表示換行,"\t"表示制表符。

###其中的'\n'已轉義為換行符,而'\W'沒有發生轉義,原因是"\W"在字符串轉義中並不對應者特殊字符,沒有特殊含義。 ###正則轉義 ####上面僅僅是字符串轉義。在正則表達式中也存在轉義,先稱作"正則轉義"。在正則表達式中"\d"代表數字,"\s"代表空白符。提取"3/8"反斜杠之前的數字

    import re 

    string = '3\8' 
    m = re.search('(\d+)\\\\', string) 
    if m is not None: 
        print (m.group(1) )
    n = re.search(r'(\d+)\\', string) 
    if n is not None: 
	print (n.group(1) )

###正則表達式字符串需要經過兩次轉義,這兩次分別是上面的"字符串轉義"和正則表達式中的轉義 ###(1)'\\'的過程 ####先進行“字符串轉義”,前兩個反斜杠和后兩個反斜杠分別被轉義成了一個反斜杠;即“\|\”被轉成了“|\”(“|”為方便看清,請自動忽略)。“字符串轉義”后馬上進行“正則轉義”,“\”被轉義為了“\”,表示該正則式需要匹配一個反斜杠。 ###(2)r'\'的過程 ###由於原始字符串中所有字符直接按照字面意思來使用,不轉義特殊字符,故不做“字符串轉義”,直接進入第二步“正則轉義”,在正則轉義中“\”被轉義為了“\”,表示該正則式需要匹配一個反斜杠。 以上內容轉載至https://www.w3xue.com/exp/article/20197/46254.html

由於正則表達式使用反斜杠來轉義特殊字符,而python自身處理字符串時,反斜杠也是用於轉義字符,這樣就產生一個雙重轉換的問題,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM