㈠ python 正則表達式中為什麼使用原始字元串
用哪種無所謂,原始字元串不需要轉義,容易理解一些
㈡ python中字元串前的r什麼意思
Python中,u表示unicode string,表示使用unicode進行編碼,沒有u表示byte string,類型是str,在沒有聲明編碼方式時,默認ASCI編碼。如果要指定編碼方式,可在文件頂部加入類似如下代碼:
# -*- coding: utf-8 -*-
utf-8是一種支持中文的編碼格式。
字母前加r表示raw string,也叫原始字元串常量。一般用在一下兩個方面:
1、正則表達式
用於處理正則表達式時,規避反斜杠的轉義
(2)pythonre原始字元串擴展閱讀:
python在執行代碼是,所有的計算都會由內存進行,此時的編碼格式是unicode,因為世界上存在著多種編碼方式,同一個二進制數字可以被解釋成不同的符號。為了統一編碼格式,便於計算,就出現了unicode。
㈢ Python 原始字元串匹配問題
r'...',這里的r表示後面的字元串中\將不代表轉義符。
這樣一來,你rhas裡面其實是包含了\這個字元,但換行符只有一個。
至於為什麼在匹配的時候,格式字元串帶r和不帶都可以匹配has,是因為如果不帶r,那麼就是包含兩個換行符,而不包含\,這樣它和has是完全一樣的內容,自然匹配;而帶r的時候,它裡面的\其實是被認作規則表達式里的轉義符了,這樣通過表達式匹配也能匹配上has(但這時t並不等於has,而是一個帶轉義符的格式字元串)。
說到如何匹配rhas,因為rhas里帶有\,而這個\同時又是規則表達式里的轉義符,所以就只能用規則表達式的格式字元串來做匹配了,t可以寫成:r'hello\\n\nworld',其中\\是用作規則表達式中的轉義符,用於匹配一個\字元。把這個格式字元串各個部分拆開來和rhas做對應是這樣:
格式:hello \\ n \n world
rhas:hello \ n 換行 world
㈣ python字元串前綴 u和r的區別
(1)以r或R開頭的python中的字元串表示(非轉義的)原始字元串
python裡面的字元,如果開頭處有個r,比如:
(r』^time/plus/\d{1,2}/$』, hours_ahead)
說明字元串r"XXX"中的XXX是普通字元。
有普通字元相比,其他相對特殊的字元,其中可能包含轉義字元,即那些,反斜杠加上對應字母,表示對應的特殊含義的,比如最常見的」\n"表示換行,"\t"表示Tab等。
而如果是以r開頭,那麼說明後面的字元,都是普通的字元了,即如果是「\n」那麼表示一個反斜杠字元,一個字母n,而不是表示換行了。
以r開頭的字元,常用於正則表達式,對應著re模塊。
關於re模塊,詳情自己google搜索「python re」。
舉例:
原始字元串操作符(r/R),能方便處理反斜杠:
f = open(r'C:\Program
Files\Adobe\Reader 9.0\Setup Files\setup.ini','r')
for i in f:
print i
f.close()
(2)以u或U開頭的字元串表示unicode字元串
Unicode是書寫國際文本的標准方法。如果你想要用非英語寫文本,那麼你需要有一個支持Unicode的編輯器。
類似地,Python允許你處理Unicode文本——你只需要在字元串前加上前綴u或U。
舉例:
u"This is a Unicode string."
㈤ python3中有沒有原始字元串
python3中有原始字元串的。
使用時需在前面加上r
str1=r'C:Windows'
輸出結果:C:\Windows