定義:一種匹配字串的規則
模組要經歷的兩個步驟:
a:要操作的概念本身,例如time,你只有了解了時間是什麼才能去用它
生活中處處是正則,比如你說高階動物,你會想到人,那豬狗雞鴨都排除了;
b:模組匯入進行操作
c:可以定義乙個規則:
來確定某乙個字串是否符合規則
從大段的字串中找到符合規則的內容
d:正規表示式是一種獨立的語法,和python直譯器無關;
a:爬蟲領域:爬取網頁,用正規表示式提取有用的資訊;
b;登入註冊也的表單驗證,web開發
c:自動化開發,日誌分析
a:字元組:[字元組]在乙個位c個字元組成的乙個字元組;
用字串中的每乙個元素,跟[字串組]中的元素比較,只要找到相同的就提取出來,提取出來之後
就直接從下乙個開始比較,而不是從頭開始;
b:字元[0-9](0到9的所有數字) [a-z](所有小寫字母) [a-z](所有大寫字母)遵循ascii碼
***注意當[0-9a-za-z]時要注意他們之間ascii碼的值大小,元素要從小到大;
c:元字元:
元字元
匹配內容
小數點.
匹配字母以外的任意字元
\w匹配字母和數字或下劃線
\s匹配所有的空白符(包括換行)
\d匹配所有的數字
\d匹配所有的非數字
\s匹配所有的非空白符(包括換行)
\w匹配f非字母和數字或下劃線
\bw\b前邊界為w \bw後邊界為w
\n匹配乙個換行符
\t匹配乙個製表符
a|b匹配字元a或b(bc|b 不能是b|bc找到乙個之後就停了)
^匹配字串的開始
$匹配字串的結尾
[字元組]
匹配字元組的字元
[^字元組]
匹配除了字元組中的字元
()匹配括號內的表示式,也表示乙個組
#幾個關於元字元的小知識點:
1)[\d\d]表示全域性;所有的字元;
2)\b字元: 表示字元的前邊界 字元\b後邊界,以空白符為界;
3)^只匹配開頭,$只匹配結尾,若連起來用,
效果如下:
2.量詞
量詞用法說明
*重複多次和更多次
+重複一次或更多次
?重複0次或一次
重複n次
重複n次或更多次
重複n到m次
量詞的一些小應用:1)乙個量詞只約束前面的乙個或一組(括號裡面的)字元;
2)元字元加量詞?,表示匹配了0次或一次,?表示了匹配這個動作;
3)記憶竅門:?+*(?相當於0到1 +相當於1到無窮 *相當於0到無窮)
3.正則的貪婪匹配和惰性模式
貪婪匹配:盡可能多的匹配多個
例如:\d.?(先看元字元有幾個,兩個就是一次匹配兩個字元)
\d.+(這個跟上面的區別就在於,\d.+不能是單個數字)
惰性模式:在量詞後面加?**惰性模式,匹配時會把元字元一直比較,找到了就停下,
而貪婪匹配用的是回溯演算法,直接找到最後,然後往回找,找到停下;
實用正規表示式
匹配中文字元的正規表示式 u4e00 u9fa5 評注 匹配中文還真是個頭疼的事,有了這個表示式就好辦了 匹配雙位元組字元 包括漢字在內 x00 xff 評注 可以用來計算字串的長度 乙個雙位元組字元長度計2,ascii字元計1 匹配空白行的正規表示式 n s r 評注 可以用來刪除空白行 匹配ht...
實用的正規表示式
驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 9 驗證非負整數 正整數...
實用的正規表示式
大於0 的數字 1 9 0 9 d 0 d d 非負整數.d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9...