re 模組中常用的元字元

2021-08-13 12:07:01 字數 1967 閱讀 6561

元字元

描述.(點號)

匹配除換行符(\n \r)以外的所有字元。要匹配包括「\r\n」在內的任何字元,使用「[\s\s]」的模式。

^從字串首位匹配。書寫時必須寫在首位,否則匹配為空。

$從字串末尾匹配。書寫時必須寫在末尾,否則匹配為空。

*重複匹配任意多次(包括0次)。

+重複匹配任意多次(不包括0次)。

?匹配0次或1次。

n是乙個非負整數。匹配確定的n次。

至少匹配n次。

m和n均為非負整數,其中n<=m。最少匹配n次且最多匹配m次。

[xyz]

字符集。匹配字符集中任何乙個字元。

[a-z]

字符集範圍。範圍內所有的字元都可以匹配。取消其元字元的功能(見注釋1)。

\反斜槓。使元字元失去特殊功能;使部分普通字元實現特殊功能(見注釋2)。

( )將( ) 之間的表示式定義為「組」(group),並且將匹配這個表示式的字元儲存到乙個臨時區域。

|將兩個匹配條件進行邏輯「或」(or)運算。

注釋1:如果在[ ]裡面出現其他的元字元,除例外情況(見註1),那麼會取消其元字元的功能,只是普通字元。

-:如果在[ ]裡面表示範圍,比如[a-z],則-有特殊意義,此時匹配時,不會匹配到-,如果此時還需要匹配-,那麼再在 [ ]裡面加乙個-(加在前後都可以)。

^:與出現在中括號外的意思不同,如果^出現在中括號裡面,則表示取反的意思。比如 [^a,b] 表示除了 a , b(注意:這裡的』,』也是乙個字元,沒有其他的意義) 以外所有的字元都匹配(包括換行符)。注意,如果字串中有\,在沒轉譯的時候,匹配的結果是\\

注釋2\後面如果跟元字元,那麼元字元就失去它代表的特殊意義,變為普通字元。

例如 :*本代表重複匹配任意多次,\*就只表示*這個普通字元(注意\**\*\*表達的是完全不同的兩個意思,自己動手試一試)。

\後面跟部分普通字元,會實現特殊意義。

例如 :\d匹配任何十進位制的數,相當於 [0-9]

\d匹配任何非數字字元,相當於 [^0-9]

\s匹配任何空白字元,相當於 [ \t\n\r\f\v]

\s匹配任何空白字元,相當於 [^ \t\n\r\f\v]

\w匹配任何字母和數字字元,相當於 [0-9a-za-z]

\w匹配任何字母和數字字元,相當於 [^0-9a-za-z]

\b匹配乙個特殊邊界(非任何字母和數字的都是特殊字元)。

比如 : 『i am a big man』,用 r』i\b』 去匹配,只能匹配到 乙個 『i』 ,因為 『big』的』i』後面跟的是』g』,不是特殊字元,故匹配不到。(注意:用這種方法匹配,前面一定要加 『r』 防止轉譯。』\b』也可以放到前面)

Python中常用re模組

匹配字串開頭 匹配字串結尾 匹配任意字元,除了換行符 匹配指定的一組字元,amk 匹配 a 或 m 或 k 匹配除了這組字元以外的字元 匹配0或多個 匹配1或多個 匹配0或1個,非貪婪模式 精確匹配前面表示式n次,如a不能匹配ba,只能匹配baab 匹配n次前面的表示式,a a a a 匹配 n 到...

re模組簡介及元字元和轉義字元

import re 代表萬用字元,除了 n不能匹配外,其它全部都能匹配,乙個點代表乙個字元 代表字串開頭進行匹配,只能放在最前面 代表字串結尾進行匹配,只能放在最後面 代表0到無窮次 代表1次到無窮次 代表0次到1次 代表自行控制多少次,代表6次,代表1,2,3,4,5,6次 注意 前面的 等都是貪...

常用模組 re模組

由堆具有特殊意義的字元組成的式子。用於匹配查詢字串內容。主要學習重點,就是學習這些字元的含義。abc 表示式不包含任何特殊字元,就是精準匹配,說白了判斷是否相同 print re.findall abc abcbbb abc n t f 符號含義 a從字元的開始處開始匹配 z從字元的結尾處匹配 從字...