Python字符串匹配之6種方法的使用詳解
1. re.match 嘗試從字符串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match()就返回none。
import re line="this hdr-biz 123 model server 456" pattern=r"123" matchObj = re.match( pattern, line)
2. re.search 掃描整個字符串并返回第一個成功的匹配。
import re line="this hdr-biz model server" pattern=r"hdr-biz" m = re.search(pattern, line)
3. Python 的re模塊提供了re.sub用于替換字符串中的匹配項。
import re line="this hdr-biz model args= server" patt=r'args=' name = re.sub(patt, "", line)
4. compile 函數(shù)用于編譯正則表達式,生成一個正則表達式( Pattern )對象,供 match() 和 search() 這兩個函數(shù)使用。
import re pattern = re.compile(r'\d+')
5. re.findall 在字符串中找到正則表達式所匹配的所有子串,并返回一個列表,如果沒有找到匹配的,則返回空列表。
import re line="this hdr-biz model args= server" patt=r'server' pattern = re.compile(patt) result = pattern.findall(line)
6. re.finditer 和 findall 類似,在字符串中找到正則表達式所匹配的所有子串,并把它們作為一個迭代器返回。
import re it = re.finditer(r"\d+","12a32bc43jf3") for match in it: print (match.group() )
PS:Python字符串匹配及正則表達式說明
解析url地址正則表達式:
regexp = (r'^(?P<scheme>[a-z][\w\.\-\+]+)?:(//)?' r'(?:(?P<username>\w+):(?P<password>[\w\W]+)@|)' r'(?P<domain>[\w-]+(?:\.[\w-]+)*)(?::(?P<port>\d+))?/?' r'(?P<path>\/[\w\.\/-]+)?(?P<query>\?[\w\.*!=&@%;:/+-]+)?' r'(?P<fragment>#[\w-]+)?$') match = re.search(regexp, url.strip(), re.U) if match is None: raise ValueError('Incorrent url: {0}'.format(url)) url_parts = match.groupdict() url='https://blog.csdn.net/weixin_40907382/article/明細/79654372' print(url_parts):{'scheme': 'https', 'username': None, 'password': None, 'domain': 'blog.csdn.net', 'port': None, 'path': '/weixin_40907382/article/明細/79654372', 'query': None, 'fragment': None}
總結(jié)
以上所述是小編給大家介紹的Python字符串匹配之6種方法的使用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Python tensorflow實現(xiàn)mnist手寫數(shù)字識別示例【非卷積與卷積實現(xiàn)】
這篇文章主要介紹了Python tensorflow實現(xiàn)mnist手寫數(shù)字識別,結(jié)合實例形式分析了基于tensorflow模塊使用非卷積與卷積算法實現(xiàn)手寫數(shù)字識別的具體操作技巧,需要的朋友可以參考下2019-12-12python操作redis數(shù)據(jù)庫的三種方法
這篇文章主要介紹了python操作redis數(shù)據(jù)庫的三種方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-09-09python實現(xiàn)將文本轉(zhuǎn)換成語音的方法
這篇文章主要介紹了python實現(xiàn)將文本轉(zhuǎn)換成語音的方法,涉及Python中pyTTS模塊的相關(guān)使用技巧,需要的朋友可以參考下2015-05-05Django Model層F,Q對象和聚合函數(shù)原理解析
這篇文章主要介紹了Django Model層F,Q對象和聚合函數(shù)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11