正則表達式:
正則表達式測試工具,建立 一個正則表達式後,須要測試該正則表達式是否正確,使用正則表達式測試工具"Notepad++"來測試正則表達式。
操做步驟:打開"Notepad++"軟件,點擊"搜索"菜單下的查找,在彈出的對話框的左下角"查找模式"選項裏點選"正則表達式",
在正上方的輸入文本框裏輸入正則表達式便可搜索匹配的字符串了。html
正則表達式 - 符號
+ :號表明前面的字符必須至少出現一次(1次或屢次)python
* :號表明字符能夠不出現,也能夠出現一次或者屢次(0次、或1次、或屢次)正則表達式
?: 問號表明前面的字符最多隻能夠出現一次(0次、或1次)express
[] :用方括號表示字符集合,反字符集可在字符前加^。例如[a-f]匹配a,b,c,d...f任意某一個字符,[^a-f]則匹配除a,b,c,d...f外的任意字符。字符集也只能匹配一個字符。函數
():用圓括號表示分組,多個圓括號表示一個分組或多個分組。工具
{}:用花括號表示限定符,例如{4}表示重複4次,{4,}表示至少重複4次,{4,10}表示重複至少4次,最多10次測試
{n,m}?或*?或+?: 對前面的分組進行非貪心匹配。spa
r: 表示後面的字符串爲原始字符串3d
^:脫字符spam 表示字符串必須以 spam 開始。htm
$:spam$ 表示字符串必須以 spam 結束。
.:匹配全部字符,換行符除外。
\:反斜槓,能夠匹配特殊字符自己
\d:匹配任意數字,等價於 [0-9]。
\w:匹配數字字母下劃線,等價於 [0-9]
\s:匹配任意空白字符,等價於 [\t\n\r\f]。
\D:匹配任意非數字
\W:匹配非數字字母下劃線
\S:匹配任意非空字符
[abc] 匹配方括號內的任意字符(諸如 a、b 或 c)。
[^abc] 匹配不在方括號內的任意字符。
re.match 從字符串的起始位置匹配一個模式,若是不是起始位置匹配成功的話,match()就返回none。
re.match(pattern, string, flags=0),參數pattern:匹配的正則表達式,string:要匹配的字符串。flags:標誌位,用於控制正則表達式的匹配方式,如:是否區分大小寫,多行匹配等等。可選標誌
re.search 掃描整個字符串並返回第一個成功的匹配。
match和search均可以使用group(num) 或 groups() 匹配對象函數來獲取匹配表達式。
re.sub(pattern, repl, string, count=0, flags=0),
compile 函數用於編譯正則表達式,生成一個正則表達式( Pattern )對象,供 match() 和 search() 這兩個函數使用
re.compile(pattern[, flags]),pattern : 一個字符串形式的正則表達式,flags 可選,表示匹配模式,好比忽略大小寫,多行模式等。
findall在字符串中找到正則表達式所匹配的全部子串,並返回一個列表,若是沒有找到匹配的,則返回空列表。注意: match 和 search 是匹配一次 findall 匹配全部。
findall(string[, pos[, endpos]]),string 待匹配的字符串。pos 可選參數,指定字符串的起始位置,默認爲 0。endpos 可選參數,指定字符串的結束位置,默認爲字符串的長度