1.讓點可以匹配所有字元包括換行符
reg=re.compile(r'(?<= id=\"content\">).*?(?=
)', re.s)
text=re.findall(reg,html )
2. 精確匹配和最小匹配
『』 精確匹配m次
『』 匹配最少m次,最多n次。(n>m)
如果你只想指定乙個最少次數或只指定乙個最多次數,你可以把另外乙個引數空起來。比如你想指定最少3次,可以寫成 (注意那個逗號),同樣如果只想指定最大為5次,可以寫成,也可以寫成。
3.『*?』 『+?』 『??』 最小匹配
『*』 『+』 『?』:0/多;1/多;0/1
4. 1 前向界定與後向界定
(?<=…) 前向界定 (?=…) 後向界定:引數字串必須定大小
>>> s=r'/*djwehfunj*/'
>>> re.findall( r』(?<=/\*).+?(?=\*/)』 , s ) #'djwehfunj'
例:在下面的字串中想找到被字母夾在中間的數字,你不可以用前向界定:
>>> s = 『aaa111aaa , bbb222 , 333ccc 『
>>> re.findall( r』(?<=[a-z]+)\d+(?=[a-z]+)' , s ) #error錯誤資訊:error: look-behind requires fixed-width pattern
不過如果你只要找出後面接著有字母的數字,你可以在後向界定寫正則式:
>>> re.findall( r』\d+(?=[a-z]+)』, s ) #
['111', '333']
如果你一定要匹配包夾在字母中間的數字,你可以使用組(group)的方式
>>> re.findall (r'[a-z]+(\d+)[a-z]+' , s ) #
['111']
4.2前向非界定和後向非界定
(?>> re.findall( r』\d+(?!\w+)』 , s ) #['222']
>>> re.findall( r』\d+(?![a-z]+)』 , s ) #['11', '222', '33']
python3中的正規表示式
精確匹配 d 匹配乙個數字 w 匹配乙個字母或數字 匹配任意乙個字元 s 匹配乙個空格 包括tab等空白符 匹配變長的字元 匹配任意個字元,包括0個 匹配至少乙個字元 匹配0個或乙個字元 匹配n個字元 匹配n m個字元 eg 說明 d s d 的含義 d 表示匹配3個數字,例如 028 s 表示匹配...
python3正規表示式
正規表示式,又稱規則表示式。英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式通常被用來檢索 替換那些符合某個模式 規則 的文字。正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元 及這些特定字元的組合,組成乙個...
Python3 正規表示式
常用的匹配模式 正規表示式是乙個特殊的字串行,它能幫助你方便的檢查乙個字串是否與某種模式匹配。re 模組使 python 語言擁有全部的正規表示式功能。re.match函式 re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match 就返回none。re.match...