python中的re模块——正则表达式
生活随笔
收集整理的這篇文章主要介紹了
python中的re模块——正则表达式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import re #導入re模塊 #re.findall('正則表達式','被匹配字符') re模塊下findall用法 在正則表達式中: \w 表示匹配一個字母、數字、下劃線 \W 匹配一個非字母、數字、下劃線(小寫w的取反) \s \小寫s匹配任意空白字符 \S 大寫匹配任意非空白字符 \d 匹配任意數字字符 \D 匹配任意非數字字符 \n 只匹配換行符 \t 只匹配制表符 ^或者\A 僅從開頭匹配,若開頭未匹配成功,則結束 $ 僅從尾部開始匹配 . 代表一個字符,任意字符,該字符是除換行符之外任意字符 re.DOTALL可以讓. 匹配換行符 [] 匹配一個字符,該字符是我們自定義范圍,[0-9]表示數字0-9中一個,[a-zA-Z]表示所有小寫大寫字母中一個,[=\-*/]表示加減乘除符號中任意一個\-表示轉譯的意思。 [^0-9] 同樣表示取反的意思,非0-9 #重復匹配 ? 匹配?左邊那一個字符出現0或者1次,也就是左邊字符有或者無都行 print(re.findall('ab?','a aba abb ab a ab')) #匹配的結果是['a','ab','a','ab','ab','a','ab'] * 匹配*左邊那個字符0到無窮次,只要*左邊字符出現就取走 + 匹配+左邊一個字符出現1到無窮次 {n,m} 匹配左邊字符出現n到m次,{n}指定n次數 .* 匹配任意0個到無窮個字符,貪婪匹配,匹配到最遠的結束字符 .*? 匹配任意0個到無窮個字符,非貪婪匹配,匹配至最近的結束字符 | 或者,連接兩個正則表達式 ('company|companies') () 分組,普通分組compan(y|ies)匹配只保留括號內的內容,但compan(?y|ies)則取消只保留括號內的內容,會匹配全部的內容 re.I 忽略大小寫 re.M 以\n為分隔符,多行匹配 如果字符中有\ 'a\c aaa' 那在python語法中可寫成 re.findall('a\\\\c','a\c aaa') 或者 re.findall(r'a\\c', 'a\c aaa') ? re模塊的其他用法 #re.search() 只要匹配一次成功就結束,該方法下有group用法 re.search() 有返回值 res = re.search() res.group(0) 0表示全部, 1表示第一分組 2表示第二分組 ? #re.match() re.match('abc') 等價于re.search('^abc') 表示只從該字符首開始 obj=re.compile('\d{2}') ? print(obj.search('abc123eeee').group()) #12 print(obj.findall('abc123eeee')) #['12'],重用了obj
?
?
轉載于:https://www.cnblogs.com/5j421/p/10098164.html
總結
以上是生活随笔為你收集整理的python中的re模块——正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小甲鱼-010-012列表
- 下一篇: Git 将代码回到指定版本