python正則表達式基本元字符
-
. 通配符,匹配所有字符
-
^abc 匹配以abc開始的字符串
-
abc$ 匹配以abc結尾的字符串
-
[abc] 匹配字符集合
-
[A-Z0-9] 匹配字符范圍
-
ed|ing|s 匹配指定的字符串,諸如ed或者ing或者s
-
* 前面項目0個或者多個,如a*/[a-z]* (也叫Kleene閉包)
-
+ 前面項目1個或者多個,如a+、[a-z]+
-
? 前面項目0個或者1個,如a?、[a-z]?
-
{n} 重復n次
-
{n,} 至少重復n次
-
{,n} 重復不多於n次
-
{m,n} 至少重復m次不多於n次
-
a(b|c)+ 括號表示操作符的范圍
-
正則表達式符號:
-
\b 詞邊界
-
\d 任何數字等於[0-9]
-
\D 任何非數字等於[^0-9]
-
\s 任何空白字符[\t\n\r\f\v]
-
\S 任何非空白字符[^\t\n\r\f\v]
-
\w 任何字母[A-Za-z0-9]
-
\W 任何非字母[^A-Za-z0-9]
-
\t 制表符
-
\n 換行符
相關正則知識:
-
\d 匹配一個數字
-
\w 匹配一個字母或者數字
-
* 任意個字符(包括0個),
-
+ 至少一個字符
-
? 0個或1個字符
-
{n} n個字符
-
{n,m} n-m個字符
-
\s 匹配一個空格
-
\s+ 至少有一個空格
-
\d{3,8} 表示3-8個數字,例如'1234567'
-
\d{3}\s+\d{3,8}
-
[0-9a-zA-Z\_] 匹配一個數字、字母或者下划線
-
[0-9a-zA-Z\_]+ 匹配至少由一個數字、字母或者下划線組成的字符串,
-
比如'a100','0_Z','Py3000'等等;
-
[a-zA-Z\_][0-9a-zA-Z\_]*可以匹配由字母或下划線開頭,后接任意個由一個數字、字母或者下划線組成的字符串,也就是Python合法的變量
-
[a-zA-Z\_][0-9a-zA-Z\_]{0, 19}更精確地限制了變量的長度是1-20個字符(前面1個字符+后面最多19個字符)
-
A|B可以匹配A或B,所以(P|p)ython可以匹配'Python'或者'python'
-
^表示行的開頭,^\d表示必須以數字開頭
-
表示行的結束,\d
-
表示必須以數字結束
參考自:微信公眾號,數據挖掘入門與實戰