Python基础教程:正则表达式-匹配多个字符
生活随笔
收集整理的這篇文章主要介紹了
Python基础教程:正则表达式-匹配多个字符
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
匹配多個(gè)字符的相關(guān)格式
| * | 匹配前一個(gè)字符出現(xiàn)0次或者無限次,即可有可無 |
| + | 匹配前一個(gè)字符出現(xiàn)1次或者無限次,即至少有1次 |
| ? | 匹配前一個(gè)字符出現(xiàn)1次或者0次,即要么有1次,要么沒有 |
| {m} | 匹配前一個(gè)字符出現(xiàn)m次 |
| {m,n} | 匹配前一個(gè)字符出現(xiàn)從m到n次 |
示例1:*
需求:匹配出,一個(gè)字符串第一個(gè)字母為大小字符,后面都是小寫字母并且這些小寫字母可有可無
import reret = re.match("[A-Z][a-z]*","M") print(ret.group())ret = re.match("[A-Z][a-z]*","MnnM") print(ret.group())ret = re.match("[A-Z][a-z]*","Aabcdef") print(ret.group())運(yùn)行結(jié)果:
M Mnn Aabcdef示例2:+
需求:匹配出,變量名是否有效
''' 學(xué)習(xí)中遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' import renames = ["name1", "_name", "2_name", "__name__"]for name in names:ret = re.match("[a-zA-Z_]+[\w]*",name)if ret:print("變量名 %s 符合要求" % ret.group())else:print("變量名 %s 非法" % name)運(yùn)行結(jié)果:
變量名 name1 符合要求 變量名 _name 符合要求 變量名 2_name 非法 變量名 __name__ 符合要求示例3:?
需求:匹配出,0到99之間的數(shù)字
import reret = re.match("[1-9]?[0-9]","7") print(ret.group())ret = re.match("[1-9]?\d","33") print(ret.group())ret = re.match("[1-9]?\d","09") print(ret.group())運(yùn)行結(jié)果:
7 33 0 # 這個(gè)結(jié)果并不是想要的,利用$才能解決示例4:{m}
需求:匹配出,8到20位的密碼,可以是大小寫英文字母、數(shù)字、下劃線
''' 學(xué)習(xí)中遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' import reret = re.match("[a-zA-Z0-9_]{6}","12a3g45678") print(ret.group())ret = re.match("[a-zA-Z0-9_]{8,20}","1ad12f23s34455ff66") print(ret.group())運(yùn)行結(jié)果:
12a3g4 1ad12f23s34455ff66總結(jié)
以上是生活随笔為你收集整理的Python基础教程:正则表达式-匹配多个字符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python基础教程:正则表达式re高级
- 下一篇: Python 删除文件与文件夹