在python中,需要用到正規表示式時,就需要匯入re模組進行操作,們可以直接呼叫來實現正則匹配普通字元
匹配自身
abcabc
.匹配任意除換行符」\n」外的字元(在dotall模式中也能匹配換行符
a.cabc
|轉義字元,使後乙個字元改變原來的意思
a.c;a\\c
a.c;a\c
*匹配前乙個字元0或多次
abc*
ab;abccc
+匹配前乙個字元1次或無限次
abc+
abc;abccc
?匹配乙個字元0次或1次
abc?
ab;abc
^匹配字串開頭。在多行模式中匹配每一行的開頭
^abc
abc$
匹配字串末尾,在多行模式中匹配每一行的末尾
abc$
abc|
或。匹配|左右表示式任意乙個,從左到右匹配,如果|沒有包括在()中,則它的範圍是整個正規表示式
abc|def
abcdef
{}匹配前乙個字元m次,匹配前乙個字元m至n次,若省略n,則匹配m至無限次
abcabcabbc
字符集。對應的位置可以是字符集中任意字元。字符集中的字元可以逐個列出,也可以給出範圍,如[abc]或[a-c]。[^abc]表示取反,即非abc。所有特殊字元在字符集中都失去其原有的特殊含義。用\反斜槓轉義恢復特殊字元的特殊含義。
a[bcd]e
abeaceade
()被括起來的表示式將作為分組,從表示式左邊開始沒遇到乙個分組的左括號「(」,編號+1.分組表示式作為乙個整體,可以後接數量詞。表示式中的|僅在該組中有效。
(abc)a(123|456)c
abcabca456c
反斜槓的作用非常重要
字元功能
\d匹配數字,即0-9
\d匹配非數字,即不是數字
\s匹配空白,即空格,tab鍵
\s匹配非空白
\w匹配單詞字元,即a-z、a-z、0-9、_
\w匹配非單詞字元
字元功能
*匹配前乙個字元出現0次或者無限次,即可有可無
+匹配前乙個字元出現1次或者無限次,即至少有1次
?匹配前乙個字元出現1次或者0次,即要麼有1次,要麼沒有
匹配前乙個字元出現m次
匹配前乙個字元至少出現m次
匹配前乙個字元出現從m到n次
字元功能
^匹配字串開頭
$匹配字串結尾
\b匹配乙個單詞的邊界
\b匹配非單詞邊界
字元功能
|匹配左右任意乙個表示式
(ab)
將括號中字元作為乙個分組
\num
引用分組num匹配到的字串
(?p\)
分組起別名
(?p=name)
引用別名為name分組匹配到的字串
python正規表示式re模組
嗯 看看就好 小白可能會坑人 有錯誤的話麻煩指出來謝謝 2018年3月15日13 54 11 re 模組 函式與方法的區別 如果是乙個函式,用類名去呼叫,如果是乙個方法,用物件去呼叫 1.compile函式 編 print n1 10 n import re pattern re.compile r...
re模組 正規表示式 python
d 匹配數字 w 匹配字母或數字 s 匹配乙個空格 包括tab s 表示至少乙個空格 表示任意字元 包括零個 表示至少乙個字元 表示0個或1個字元 表示n個字元 表示n m個字元 可以匹配任意字元 a b 表示可以匹配a或b 行的開頭 d 表示必須以數字開頭 表示結尾 d 表示必須以數字結尾 r 字...
Python 正規表示式,re模組
1.re.findall 搜尋字串,以列表形式返回全部能匹配的子串,返回形式為陣列 findall pattern,string,flags 0 第乙個引數,正規表示式 第二個引數,搜尋的是哪些字串 第三個引數,匹配的模式,其中re.s使匹配包括換行在內的所有字元。findall 函式是逐行匹配的。...