匹配次數(shù)

import re

def main():
""""""
# 1 *(匹配0次或多次)
"""
字符 * - 指定的字符出現(xiàn)0次或者多次(這兒的字符可以是正則符號(hào),也可以是普通字符)

a* - a出現(xiàn)0次或者多次
\d* - 任意數(shù)字出現(xiàn)0次或者多次
[a-z]* - 任意小寫字母出現(xiàn)0次或多次
"""
# 123前面有0個(gè)或者多個(gè)字符,并且每個(gè)字符都是a
re_str = r'a*123'
print(re.fullmatch(re_str, 'aaa123'))
print(re.fullmatch(re_str, '123'))

# 123前面有0個(gè)或者多個(gè)字符,并且每個(gè)字符都是數(shù)字字符
re_str = r'\d*123'
print(re.fullmatch(re_str, '12123'))
print(re.fullmatch(re_str, '123'))

re_str = r'[a-z]*123'
print(re.fullmatch(re_str, 'huagh123'))
print(re.fullmatch(re_str, '123'))

# 2 +(匹配1次或多次)
re_str = r'a+123'
print(re.fullmatch(re_str, 'aaa123'))
print(re.fullmatch(re_str, 'a123'))

# 3 ?(匹配0次或者1次)
re_str = r'\+?abc'
print(re.fullmatch(re_str, '+abc'))

# 練習(xí):寫一個(gè)正則表達(dá)式能夠匹配所有的整數(shù)字符串
"""
1233
+233
-384
00233 不是整數(shù)
"""
re_str = r'[+-]?[1-9]\d*'
print(re.fullmatch(re_str, '389'))

# 4 {}
"""
{M,N} - 匹配M到N次(最少M(fèi)次,最多N次)
{M,}  - 匹配至少M(fèi)次
{,N}  - 匹配最多N次
{N}   - 匹配N次
"""
print(re.fullmatch(r'a{2,5}', 'aaaaa'))
print(re.fullmatch(r'a{2,}', 'aaa'))
print(re.fullmatch(r'a{,3}', 'aa'))
print(re.fullmatch(r'a{4}', 'aaaa'))

# 密碼:6~16位,只能包含數(shù)字和字母
print(re.fullmatch(r'[a-zA-Z\d]{6,16}', '3u2222'))
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容