一.模塊的定義
一組功能的集合(要和某個自己就存在的東西打交道,,而這個東西自己和python沒有關係,
python提供了一個功能的集合,專門負責和這個東西打交道)
模塊的類型:
內置模塊:不須要咱們本身安裝的,解釋器自帶的
第三方模塊:須要咱們本身安裝的模塊
自定義模塊:本身寫的模塊
例
import os #這裏的os就是一個模塊,用來操做文件,文件這個東西就是自己就存在的,
且文件自己與python沒有關係,os模塊就是和文件打交道的
os.remove() #模塊中的方法
os.rename()
二.re模塊:爲了在python中使用正則表達式
正則表達式是一種獨立的規則,獨立的語言
引用正則表達式主要爲了完成兩件事:
1.把一個文件中的全部手機號碼都找出來 從大段的文字中找到符合規則的內容 如:爬蟲,日誌分析
2.輸入手機號 判斷這個字符串是否徹底符合規則 如:表單驗證,手機號,QQ號,郵箱,銀行卡,身份證號碼,密碼
三.正則表達式的規則
正則表達式(只和字符串打交道,從字符串中找到符合規則的內容)
在線測試工具:http://tool.chinaz.com/regex/
正則 | 帶匹配字符 | 匹配結果 | 解釋說明 |
[0-9] | zrtygh546481fttr | 5 4 6 4 8 1 | 匹配全部的數字 |
[a-z] | zrtygh546481fttr | z r t y g h f t t r | 匹配全部的小寫字母 |
[A-Z] | ASFR幾乎hiu56 | A S F R | 匹配全部的大寫字母 |
[a-zA-Z] | ASFR幾乎hiu56 | A S F R h i u | 匹配全部的大小寫字母python (必定要根據ascii碼的順序來選擇a-z和A-Z的順序)git |
[a-zA-Z0-9] | ASFR幾乎hiu56 | A S F R h i u 5 6 | 匹配大小寫字母和數字正則表達式 (a-z和A-Z的順序不能夠換0-9是能夠在任意位置的)工具 |
[a-zA-Z0-9_] | ASFR幾乎hiu56 | A S F R h i u 5 6 _ | 匹配數字字母下劃線測試 |
a-z的ascii碼是65-90spa
A-Z的ascii碼是97-122日誌
元字符:ci
元字符 | 匹配內容 | 解釋 |
\w | 匹配全部的數字字母下劃線 | w是Word開頭至關於[a-zA-Z0-9_] |
\d | 匹配全部的數字 | d是digit的開頭,至關於[0-9] |
\s | 匹配全部的空格,回車,製表符 | s是space的開頭,至關於[\n\t ] |
\n | 匹配換行符(回車) | |
\t | 匹配製表符(tab) | |
匹配空格 | ||
\W | 與\s取反,匹配除數字字母下劃線外的全部 | |
\D | 與\d取反,匹配除數字外的其餘全部 | |
\S | 與\s取反,取除空格外的全部 | |
[\s\S][\d\D][\w\W]rem |
表示全集,匹配全部字符 | |
\b字符串 |
表示單詞的邊界 | |
^ | 匹配一個字符串的開始 | |
$ | 匹配一個字符串的結束 | 對^$先後換行也支持,選中此項,每一行的開始和結束都有一個開始和結束字符,不然只有整個文本的開頭和結束有 |
. | 表示匹配除換行以外的全部字符 | |
[] | 只要出如今中括號內的內容均可以被匹配 | [ab]----單個a和單個b均可以被匹配 |
[^] | 只要不出如今中括號中的內容均可以被匹配 | 單個出現也不會被匹配 |
a|b | 或,符合a規則的符合b規則的均可以被匹配 | 若是a規則是b規則的一部分,或a規則比b規則要苛刻,就要把a規則寫在前面,默認先看前面 |
() | 分組 | 表示想給幾個字符串量詞約束的時候,須要把這些量詞分在一個組 |
量詞:
量詞 | 用法說明 |
{n} | 表示這個量詞以前的字符出現n次 |
{n,} | 表示這個量詞以前的字符至少出現n次 |
{n,m} | 表示這個量詞以前的字符出現n-m次 |
? | 表示匹配量詞以前的字符出現0次或1次 |
+ | 表示匹配量詞以前的字符出現1次或屢次 |
* | 表示匹配量詞以前的字符出現0次或屢次 |
正則表達式的匹配特色:貪婪匹配(它會在容許的範圍內取最長的結果)
非貪婪模式/惰性匹配:在量詞後面加上?
如: .*?x