Python正则表达式-常用函数的基本使用
生活随笔
收集整理的這篇文章主要介紹了
Python正则表达式-常用函数的基本使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
常用函數有
re.match()、re.search() 、re.sub()、compile()、findall()、finditer()、split()re.match() 匹配字符串開頭,常用來判斷數據是否滿足我的正則要求。
成功返回一個match對象,不成功返回空。
>>> import re >>> rc = re.compile(r"www.+") >>> rc.match('www.com wxw.cn') <re.Match object; span=(0, 14), match='www.com wxw.cn'> >>> rc.match('wxw.cn www.com') >>>re.search() 匹配整個字符串,判斷數據時候包含我的正則數據
''' Python大型免費公開課,適合初學者入門 加QQ群:579817333 獲取學習資料及必備軟件。 ''' >>> rc.search('wxw.cn www.com') <re.Match object; span=(7, 14), match='www.com'> >>> rc.search('wxw.cn www.com wxw.org www.cn') <re.Match object; span=(7, 29), match='www.com wxw.org www.cn'> >>>作比較
import rest = 'Monday Tuesday Wednesday Thursday Friday Saturday Sunday' rc = r'sunday'#match 進行匹配 rcm = re.match(rc,st,re.I) #re.I忽略大小寫 if rcm:print(rcm.group()) else:print("match don't is Sunday")#search 進行匹配查找 rcs = re.search(r'sunday',st,re.I) if rcs:print(rcs.group()) else:print("search don't is Sunday")re.sub() 檢索和替換
import re#re.sub(pattern, repl, string, count=0, flags=0)st = '這#是#一#個#很*寂*寞*的#天#,#下#著#有#些#傷@心@的@雨@'#將這個字符串里的特殊符號替換成空,也就是刪掉的意思。 #定義正則 pat = r'[#\*@]'music = re.sub(pat,'',st) print(music) import re#re.sub(pattern, repl, string, count=0, flags=0)#repl 也可以是一個函數str ='主板 cpu computer 電池 mouse 鍵盤' pat = r'[a-z]' #將str中的小寫英文字母全都轉換為大寫def chupper(matched):value = matched.group()return value.upper()res = re.sub(pat,chupper,str) print(res)compile 函數用于編譯正則表達式,生成一個正則表達式( Pattern )對象,供 match() 和 search() 這兩個函數使用。
''' Python大型免費公開課,適合初學者入門 加QQ群:579817333 獲取學習資料及必備軟件。 ''' >>> import re >>> pac = re.compile('[a-z]',re.I) >>> st = 'A1b2c3d4e5f7g8h9i0g1k2l3m4n5' >>> m = pac.match(st) >>> m <re.Match object; span=(0, 1), match='A'> >>> m.group() 'A' >>> m.start() 0 >>> m.end() 1 >>> m.span() (0, 1) >>>findall
在字符串中找到正則表達式所匹配的所有子串,并返回一個列表,如果沒有找到匹配的,則返回空列表。
注意: match 和 search 是匹配一次 findall 匹配所有。
findall(string[, pos[, endpos]])re.finditer
和 findall 類似,在字符串中找到正則表達式所匹配的所有子串,并把它們作為一個迭代器返回。
''' Python大型免費公開課,適合初學者入門 加QQ群:579817333 獲取學習資料及必備軟件。 ''' >>> rec = re.compile(r'\D') >>> iters = rec.finditer('abcd1234efg567hig') >>> for value in iters:print(value.group(),end="")abcdefghig >>>split 方法按照能夠匹配的子串將字符串分割后返回列表,它的使用形式如下:
re.split(pattern, string[, maxsplit=0, flags=0])
>>> rec = re.compile(r'[.]') >>> st = '192.168.1.1' >>> recs = rec.split(st) >>> >>> recs ['192', '168', '1', '1'] >>>flags:
| re.I | 使匹配對大小寫不敏感 |
| re.L | 做本地化識別(locale-aware)匹配 |
| re.M | 多行匹配,影響 ^ 和 $ |
| re.S | 使 . 匹配包括換行在內的所有字符 |
| re.U | 根據Unicode字符集解析字符。這個標志影響 \w, \W, \b, \B. |
| re.X | 該標志通過給予你更靈活的格式以便你將正則表達式寫得更易于理解。 |
總結
以上是生活随笔為你收集整理的Python正则表达式-常用函数的基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python3 中的最大整数和最大浮点数
- 下一篇: Python爬虫入门必学知识:Reque