1. 匯入正規表示式
import re
2.正規表示式規則
2.1 單字元匹配
規則 功能
. 匹配任意1個字元(除\n)
匹配中列舉的字元
\d 匹配數字, 0-9
\d 匹配非數字
\s 匹配空白符, 空格, tab鍵
\s 匹配非空白符
\w 匹配單詞字元,a-z,a-z,0-9,_
\w 匹配非單詞字元
2.2 匹配數量
規則 功能
* 匹配前乙個字元出現0次多次或無限次,可有可無
+ 匹配前乙個字元出現1次多次或無限次,至少得出現一次
? 匹配前乙個字元出現1次或者0次,至多出現1次
匹配前乙個字元出現m次
匹配前乙個字元至少出現m次
匹配前乙個字元至少出現m次,至多出現n次
2.3 邊界條件
規則 功能
^ 匹配字串開頭
$ 匹配字串結尾
\b 匹配乙個單詞的邊界
\b 匹配非單詞邊界
pattern = r"^\w+\s\b\world\b\s!$" 匹配hello world ! 但是不匹配helloworld !
2.4 匹配分組
規則 功能
| 匹配左右任意乙個表示式
(ab) 將括號中字元作為乙個分組
\num 引用分組num匹配到的字串
(?p) 分組起別名
(?p=name) 引用別名為name分組匹配到的字串
例子一:
匹配出0-100之間的數字
pattern = r"0$|100$|[1-9]\d$"
例子二:
匹配分組,獲取頁面中 #str=""
測試一下re.groups(), re.group(), re.group(1)的區別
例子三分組引用,精確獲取多個標籤內的內容
pattern = r"<(.+)><(.+)>.*" #str="
"例子四
分組起別名
pattern = r"<(?p.+)><(?p.+)>(?p.*)" #str="
"3. 使用的方法
方法一:
re.match(pattern, string[, flags])
pattern: 匹配的正規表示式
string: 要匹配的字串
flags: 標誌位,用於控制正規表示式的匹配方式,如:是否區分大小寫
返回match物件:
使用group(), groups(), groupdict()獲取匹配表示式
group([group1, ... ]):獲取乙個或多個分組截獲的字串,指定多個引數時以元組形式返回,編號0代表整個匹配的子串;不填寫引數時,返回group(0),可以用別名也可以用編號。
沒有截獲字串的組返回none;截獲多次的組返回最後一次截獲的子串
groups(): 以元組形式返回全部分組截獲的字串
groupdict():返回以有別名的組的別名為鍵,以改組截獲的子串為值的字典。沒有別名的組不包含在內。
方法二:
re.search(pattern, string, flags=0)
pattern: 匹配的正規表示式
string: 要匹配的字元
flags: 標誌位,用於控制正規表示式的匹配方式。如:是否區分大小寫,多行匹配等
re.search()方法掃瞄整個字串,並返回第乙個成功的匹配,如果匹配失敗,則返回none
與re.match()方法不同,re.match()方法要求必須從字串的開頭進行匹配,如果字串的開頭不匹配,整個匹配就失敗了;re.search()並不要求必須從字串的開頭進行匹配
方法三:
re.sub(pattern, repl, string, count=0, flag=0)
pattern: 正規表示式
repl: 被替換的內容
string: 正規表示式匹配的內容
count: 正規表示式匹配的結果是多個,使用count來限定替換的個數從左向右,預設值是0,替換所有的匹配到的結果
flags: 匹配模式,可以使用按位或者「|」標識同時生效。
方法四:
re.findall(pattern, string, flags=0)
re.findall()在字串中找到正規表示式所匹配的所有子串,並返回乙個列表;如果沒有找到匹配的,則返回空列表;
方法五:
re.split(pattern, string, maxsplit=0)
正規表示式詳解
正規表示式 基本正規表示式主要用於grep,egrep,vi,sed,awk命令中進行字串匹配。符號 意義 c 匹配字母c 匹配任意單個字元 匹配前乙個字元出現零次或多次 匹配任意多個任意字元 匹配集合中的任意單個字元,括號中為乙個集合 x y 匹配連續的字串範圍 匹配字串的開頭 匹配字串的結尾 匹...
正規表示式詳解
正規表示式主要作用 分割 匹配 查詢 替換 正規表示式中包括的元素 1.原子 普通字元 a z a z 0 9 原子表 轉義字元 2.元字元 有特殊功能的字元 3.修正模式符 系統內建部分字元,例如 i m s u 原子 1.a z a z 0 9 最常見的字元 2.abc 用圓括號包含起來的單元符...
正規表示式詳解
正規表示式 regular expression 又稱正規表示式 規則表示式等,是電腦科學的乙個概念。正規表示式使用單個字串來描述 匹配一系列匹配某個句法規則的字串,也通常用來檢索 替換那些匹配某個模式的文字。下面從以下方面開始講述正規表示式在python中的應用。1.在python中使用,首先需要...