爬蟲入門 正規表示式

2021-10-04 08:42:22 字數 1550 閱讀 1616

1. 普通字元作為原子:import re  str = 'leadingme'  path = 'me'  res = re.search(path,str)

2. 非列印字元作為原子:\n換行符, \t製表符等

3. 通用字元作為原子:\w 字母,數字,下劃線 、\w 除字母,數字,下劃線字元、\d 十進位制數、\d 除十進位制數數字、

\s 空白字元、\s 除空白字元的字元

4. 原子表:表示從中選擇出乙個原子(優先選第1個) [xyz]從x y z中選出乙個, [^xyz] 除了x y z

舉例: string='abc1234567jkl' pat = '\w\d\d\d' res = re.search(pat,string) print(res) -> c123

.		匹配除換行符外任意乙個字元

^ 匹配開始位置

$ 匹配結束位置

* 匹配前面元素0\1\多次

? 匹配前面元素0\1次

+ 匹配前面元素1\多次

匹配前面元素恰好n次

匹配前面元素至少n次

匹配前面元素至少n次至多m次

a|b 模式選擇符(選擇兩個其中乙個)

() 匹配單元符(只匹配出括號中的內容)

[0-9] 乙個任意數字

i:     匹配時忽略大小寫 *

m: 多行匹配 *

l: 本地化識別匹配

u: unicode解析

s: 配包括換行符 *

舉例:string - 'python' pat = 'pyt' res = re.search(pat,string,re.i)

舉例:

string = 『poythonyhgjdo』

pat1 = 『p.』 – poythony 貪婪模式

pat2 = 'p.?』 – poy 懶惰模式,精準

正規表示式函式有re.match(pat,string)函式,re.search(pat,string,re.模式)函式,全域性匹配函式,

re.sub()函式 替換 ret = c.sub(『被替換內容』,『替換為內容』, 替換總內容)

match函式,與search函式唯一的區別它是從頭開始匹配

全域性匹配函式,格式: re.compile(pat).findall(string), 能匹配多個滿足正規表示式的結果

例項: 匹配 .com和.cn**

例項: 匹配**號碼

string = 『dafsdgs021-5342624634gsdkhflkadfsda0773-42379021bmdaljgs』

pat = 「\d-\d|\d-\d」

res = re.compile(pat).findall(string)

print(res) ==> [『021-53426246』, 『0773-4237902』]

爬蟲 正規表示式

正規表示式 regular expression 是一種字串匹配的模式 pattern 它可以檢查乙個字串是否含有某種子串 替換匹配的子串 提取某個字串中匹配的子串。匯入正則模組 importre 字元匹配 rs re.findall abc adc print rs rs re.findall a...

正規表示式 正則入門

先從乙個例子開始正規表示式。書寫乙個匹配手機號的正規表示式,為了方便討論,假定手機號是1開頭,第二位只能是3 5 8中的其中乙個,總共11位的數字,形如13 匹配手機號的正規表示式為 1 358 d 下面介紹此正規表示式中的各個符號的含義。表示字串的開頭,後面緊接著1,表示匹配的字串要以 1 開頭。...

正規表示式入門

對於文字字元,有11個字元被保留作特殊用途。他們是 這些特殊字元也被稱作元字元 不可顯示字元 可以使用特殊字串行來代表某些不可顯示字元 代表tab 0x09 代表回車符 0x0d 代表換行符 0x0a 字符集 字符集是由一對方括號 括起來的字元集合。使用字符集,你可以告訴正規表示式引擎僅僅匹配多個字...