python 正規表示式

2022-07-26 02:51:09 字數 2228 閱讀 5138

額,很厲害的乙個表示式。要是有錯誤的地方,留個言,以便修改,如需**,附帶**謝謝啦。by mercury_lc

正規表示式有很多的功能,比較常見的使用可以解決以下幾種問題:

(用正規表示式,別忘記了 import re 因為它需要這個模組來支援她。)

功能:從字串 str 的起始位置開始匹配 s 是否是 str 的字首,如果不是的就返回 none , 否則返回一串東西(稱為物件),需要轉換才可以得到我們想要的。

格式: re.match(str, s, flags = 0)    「關於 flag 以後再說啦 這裡的正規表示式為 ** 」

例如:str = "hello mercury_lc" ,來看一下字首是不是 hello,這樣子就可以直接用 re.match( ) 了。

# 注釋一下:沒有pycharm,qaq,這裡的空格純屬是為了好看些。

>>> import re   //需要匯入這個模組

>>> str = "hello mercury_lc"

>>> re.match("hello",str) // 單純查到的

<_sre.sre_match object at 0x7f69299c5098>

>>> re.match("hello",str).span() // 轉換成始末索引 span( )

(0, 5)

>>> re.match("mercury_lc", str) // 這裡因為沒有找到,所以就沒有輸出了

>>> print(re.match("mercury_lc", str)) //輸出一下,就是 none

none

>>> re.match("hello", str).group() // 返回我們找的這個字首,用到 group( )

'hello'

>>> re.match("hello", str).group(1) // 加個引數,就可以返回多個啦(前提是有)

traceback (most recent call last): // 因為我們查詢的就乙個,所以就報錯了

file "", line 1, in indexerror: no such group

功能:從字串 str 全部的內容來匹配有沒有符合字串 s 的,如果有的話返回和 re.match( ) 是一樣的操作,不過就是範圍變大了,限制少了。

格式: re.search( str , s , flags = 0 ) 

>>> str = "hello mercury_lc"  

>>> re.search("mercury",str).span() //從全部的字串內容來匹配

(6, 13)

功能:替換,把字串 str 中的 s 替換成 t ,如果當前這個串裡面有多個 s ,你也可以指定替換的次數。

格式:re.sub( s , t , str , count = 0)      // count 預設是零,可以不寫,表示全部替換

>>> str = "hi mercury,i love you"  //原字串

>>> str = re.sub("mercury","chy",str,1) 把 mercury 換成 chy,替換一次

>>> str

'hi chy,i love you'

>>> str = "hi mercury,i love you"

>>> str = re.sub("mercury","chy",str) //不寫,預設全部

>>> str

'hi chy,i love you'

4.  compile 函式

功能:來編譯一下你需要的匹配的模式串是什麼樣子的,這樣後面用就方便了。(非官方解釋q_q)

格式:re.compile( pattern [ , flags ] ) 

這裡可選引數 [ , flags ] 可以規定一些東西,比如不區分大小寫、多行匹配等。

5. re.findall

功能:字面意思,找到所有符合條件,直到遍歷完所有的內容,返回的資訊以列表

的形式返回,如果沒有找到,就返回空列表。

qwq 沒寫完,明天或者後天再寫了

python正規表示式元字元 正規表示式

字元 描述將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...

Python 正規表示式

1.在python中,所有和正規表示式相關的功能都包含在re模組中。2.字元 表示 字串的末尾 如 road 則表示 只有當 road 出現在乙個字串的尾部時才會匹配。3.字元 表示 字元中的開始 如 road 則表示 只有當 road 出現在乙個字串的頭部時才會匹配。4.利用re.sub函式對字串...

Python正規表示式

學習python自然而然就不得不面對正規表示式這個難題。當初在沒有學習python之前,自己也曾經嘗試著學習過正規表示式,但是那時候感覺很麻煩,很難懂,結果就是不了了之。但是現在學習python我用的書是 python基礎教程 第二版 這本書中對re模組的講解很簡單易懂,內容不多但起碼把人領進門了,...