Please enable JavaScript.
Coggle requires JavaScript to display documents.
正則表達式 (Python 中re模塊函數 (有很多函數,幫助對字符串匹配、提取、替換 (re.match (只匹配字符串开头,而非每行开头),…
正則表達式
Python 中re模塊函數
想偷懶,不想寫這麼多遍
步驟
1.正則表達式編譯為Pattern
2.使用Pattern處理文本獲得結果
3.使用Match實例獲得信息
有很多函數,幫助對字符串匹配、提取、替換
re.compile
re.match
只匹配字符串开头,而非每行开头
re.search()
不局限于查询匹配字符串开头
re.findall ( )
找到所有符合的字符串,用練表呈現
re.finditer ( )
可用於for循環
re.split ( )
可設定參數決定在哪開始分割, 最多分割幾次
re.sub( )
re.subn( )
re.escape( )
re.purge( )
清除正則表達式緩存
定義
一種應用於字符串的模式,類似Word的替換功能
對字符串查詢、匹配、修改
正則表達式語法
基本語法表
常用
re 正則表達式模塊
re.search(r'a','abc')
. 除\n換行字符外,匹配任意字符
定位符
^、$、\A、\Z、\b、\B
限定符
匹配前面一個字符
+、*、{m,n} m至n次
貪婪匹配,有多少匹配多少
加個 "? "變成懶惰匹配,取最少
转义字符
例如:點"." 因為特殊符號,如需匹配則 \ . 表達
分支條件
"| "從左到右匹配,找到就會停
字符集合
以[]表達,"-"表示範圍
[^xyz],not的意思
分組
例子有點難懂(建議看講義)
匹配名字(?P<first_name>\w+)
忽略大小写(?i)
添加注释(?#匹配名字)
匹配def前的abc,abc(?=def)
(Wow!)\1,1是指正則表達式的分組
匹配不在def前的abc,abc(?!def)
匹配abc后的def,(?<=abc)def
匹配不在abc后的def,(?<!abc)def
匹配'数字abc'后面是数字或abc的字符串(\d)abc(?(1)\d|abc)
?P<number>\d 取名
預定义字符
把字符結合減化了
ex:\w 等於 [a-zA-Z0-9_]
找數字
\d+
找字符串
\D+
\s 空格
\S 空格以外
\w+
\W$
普通字符、特殊字符組成