標籤:
一.匹配字元說明
‘.‘ 預設匹配除了分行符號的所有字元,如果指定了DOTALL標誌,那麼.能夠匹配所有字元
‘^‘匹配字串的開頭,如果是在multiline模式下,’^‘將匹配每行的開頭
‘$‘匹配字串的末尾,如果是在multiline模式下,’^‘將匹配每行的末尾
‘*‘ 將之前的字元重複0次及0次以上,例如ab*可匹配a,也可匹配abbbbbbbb
‘+‘ 將之前的字元重複1次及1次以上,例如ab+不可匹配a,但可匹配abbbbbbbb
‘?‘ 將之前的字元重複0次或者1次
{m} 將之前的字元重複m次
{m,n}將之前的字元重複m到n次
{,n} 將之前的字元重複0到n次
{m,}將之前的字元重複m到無限次
*?,+?,??,{m,n}? 如果沒有在後面加?,那麼*,+,?在匹配時會盡量匹配更多的字串,如<.*>在匹配<h>hello world</h>時會匹配<h>hello world</h>,而不是<h>,加 上?後匹配的字元第一次滿足要求後就會停止匹配,那麼<.*?>就能匹配<h>
\ \的作用使得能夠匹配*,?,+正常下不能匹配的字元,用\轉義後即可匹配
[] 標識一系列能夠希望被匹配的字元,[a-z]匹配所有的小寫字母,加上^如[^a-z]則匹配除了a-z的字元
| 如a|b 可以匹配a或者b
(?=...) 表示該位置後面的字元是...表示開始匹配,並且匹配是從...開始匹配,而不是從...後開始匹配
(?!...) 表示該位置後面的字元不是...時才表示開始匹配,並且匹配是從...開始匹配,而不是從...後開始匹配
(?<=...) 標識從...後才開始進行匹配,並且是從...後開始匹配
\w 表示[a-zA-Z0-9]
\W表示[^a-zA-Z0-9]
\s表示空白字元,[\t\n\r\f\v]
\S表示非空白字元,[^\t\n\r\f\v]
\d [0-9]
\D [^0-9]
\b匹配空白字元,以及非字母數字底線的字元
\B \b的補集
python re模組(一)