真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python中正則表達(dá)式的分組和字符串匹配-創(chuàng)新互聯(lián)

這篇文章主要為大家分享python中正則表達(dá)式分組和字符串匹配的使用方法。文中還介紹了使用findall和finditer函數(shù)查找所有匹配正則表達(dá)式的字符串的方法,希望大家通過這篇文章能有所收獲。

10年積累的成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有巴里坤哈薩克免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
# 分組
# 正則表達(dá)式中用一對圓括號(hào)括起來的部分被稱為一個(gè)分組
# '(\d\d\d)-(\d\d)'

import re

'''
1. 只有圓括號(hào)括起來的部分才算一組,如果正則表達(dá)式中既有被圓括號(hào)括起來的部分,
也有未被圓括號(hào)括起來的部分,那么只將圓括號(hào)括起來的部分算一組
2. group方法,如果不指定參數(shù),會(huì)返回匹配的整個(gè)字符串,如果加參數(shù),會(huì)返回指定
分組的字符串,組索引從1開始
3. groups方法,以元組形式返回匹配的所有分組
4. 分組的索引是從1開始的 
'''
# 分3組  3個(gè)數(shù)字-4個(gè)數(shù)字-2個(gè)小寫字母
m = re.match('(\d{3})-\d{4}-[a-z]{2}','123-4567-xy')
print(m)       # 
print(m.groups())  # ('123',)
print(m.group())  # 123-4567-xy
print(m.group(1))  # 123
print('-------------')
m = re.match('(\d{3})-(\d{4})-[a-z]{2}','123-4567-xy')
print(m)         # 
print(m.groups())  # ('123', '4567') 這個(gè)是返回一個(gè)元組 只要是分組里面的就放在元組里
print(m.group())  # 123-4567-xy
print(m.group(1)) # 123
print(m.group(2)) # 456
print('----------')
m = re.match('(\d{3})-(\d{4})-([a-z]{2})','123-4567-xy')
print(m)      # 
print(m.groups())  # ('123', '4567', 'xy')
print(m.group())  # 123-4567-xy
print(m.group(1))  # 123
print(m.group(2))  # 456
print(m.group(3))  # xy
print('-----------')
m = re.match('(\d{3}-\d{4})-([a-z]{2})','123-4567-xy')
print(m)       # 
print(m.groups())  # ('123-4567', 'xy')
print(m.group())   # 123-4567-xy
print(m.group(1))  # 123-4567
print(m.group(2))  # xy
# 匹配字符串的起始和結(jié)尾以及單詞邊界
'''
"^":匹配字符串的開始
"$":匹配字符串的結(jié)束
"\b":匹配單詞邊界

單詞邊界:是指空格或標(biāo)點(diǎn)符號(hào)
" hello?"  這個(gè)左右2側(cè)都有邊界
" world0"  這個(gè)表示左側(cè)有邊界,右側(cè)沒有邊界
'''
import re
# "The"必須在字符串的開始才會(huì)搜索到
m = re.search('The', 'abc The.')
print(m)   # 
m = re.search('^The', 'The bus.')
print(m)   # 

# The必須在字符串的結(jié)尾才會(huì)搜索到
m = re.search('The$','The end.')
print(m)   # None
m = re.search('The$','end.The')
print(m)   # 

print("---------------")
# 要求'this'左側(cè)必須有邊界才能搜索到
m = re.search(r'\bthis',"What's this?")   # 不使用r里面的\b就會(huì)給你轉(zhuǎn)義了
print(m)   # 

m = re.search(r'\bthis',"this is a bus.")
print(m)    # 

m = re.search(r'\bthis'," is a bus.")
print(m)    # 

m = re.search(r'\bthis',"1234this is a bus.")
print(m)   # None

m = re.search(r'\bthis\b',"What's this123")
print(m)   # None
# 使用findall和finditer函數(shù)查找所有匹配正則表達(dá)式的字符串

'''
findall:通過列表返回所有滿足條件的字符串,DOM   這是所有結(jié)果一起返回
finditer:將搜索結(jié)果通過一個(gè)迭代器返回,SAX    這個(gè)不是所有的返回
'''

import re
s = '12-a-abc54-a-xyz---78-A-ytr'
result = re.findall(r'\d\d-[a]-[a-z]{3}',s)
print(result)                  # ['12-a-abc', '54-a-xyz']
result = re.findall(r'\d\d-[aA]-[a-z]{3}',s)  # 這一步里面的 [aA] 也是忽略大小寫
print(result)                # ['12-a-abc', '54-a-xyz', '78-A-ytr'] 

result = re.findall(r'(\d\d-[aA])-([a-z]{3})',s)  # 分組返回 拆成一個(gè)組
print(result)                # [('12-a', 'abc'), ('54-a', 'xyz'), ('78-A', 'ytr')]
s1 = '12-a-abc54-a-xYz---78-A-ytr'
result = re.findall(r'\d\d-a-[a-z]{3}',s1,re.I)  # 可以加第三個(gè)參數(shù) 第三個(gè)參數(shù)的位置 可以忽略大小寫 re.I 這個(gè)就是忽略大小寫
print(result)                # ['12-a-abc', '54-a-xYz', '78-A-ytr']

it = re.finditer(r'(\d\d)-a-([a-z]{3})',s,re.I)
for result in it:
   print(result.group(),end=' <')
   groups = result.groups()
   for i in groups:
     print(i, end = ' ')
   print('>')

'''
12-a-abc <12 abc >
54-a-xyz <54 xyz >
78-A-ytr <78 ytr >

'''

以上就是python中正則表達(dá)式分組和字符串匹配的使用方法,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


分享名稱:python中正則表達(dá)式的分組和字符串匹配-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://weahome.cn/article/eopei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部