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)
舉例:正規表示式函式有re.match(pat,string)函式,re.search(pat,string,re.模式)函式,全域性匹配函式,string = 『poythonyhgjdo』
pat1 = 『p.』 – poythony 貪婪模式
pat2 = 'p.?』 – poy 懶惰模式,精準
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 字符集 字符集是由一對方括號 括起來的字元集合。使用字符集,你可以告訴正規表示式引擎僅僅匹配多個字...