python正則表達式re.match()匹配多個字符方法的實現
import re text = '123h1ello world'text1 = '123Hello world456'text2 = 'hello world' res = re.match('d*', text) res1 = re.match('d*', text1)res2 = re.match('d*', text2) print(res.group())print(res1.group())print(res2.group())
輸出結果為
123123
Process finished with exit code 0
示例2:*
需求:匹配出,一個字符串第一個字母為大小字符,后面都是小寫字母并且這些小寫字母可有可無
import re#注意是前一個字符ret = re.match('[A-Z][a-z]*','M')print(ret.group())ret = re.match('[A-Z][a-z]*','AaBcDE')print(ret.group())ret = re.match('[A-Z][a-z]*','Aabcdef')print(ret.group())
#運行結果MAaAabcdef
2. +表示匹配1個或者多個任意字符 w+表示匹配一個或多個字母,數字或下劃線import re text = 'he+llo world'text1 = 'Hello world456'text2 = '+hello world' res = re.match('w+', text)res1 = re.match('w+', text1)res2 = re.match('w+', text2) print(res.group())print(res1.group())print(res2)
輸出結果為
heHelloNone
Process finished with exit code 0
示例2:+
需求:匹配出,變量名是否有效
import renames = ['name1','_name','2_name','__name__']for i in names: ret = re.match('[a-zA-Z_]+[w]*',i) if ret: print('變量名 %s 符合要求' % ret.group()) else: print('變量名 %s 非法' % i)
#運行結果變量名 name1 符合要求變量名 _name 符合要求變量名 2_name 非法變量名 __name__ 符合要求
3. ?表示匹配0個或一個字符 w?表示匹配0或1個字母,數字或下劃線import re text = 'he+llo world'text1 = 'Hello world456'text2 = '+hello world' res = re.match('w?', text)res1 = re.match('w?', text1)res2 = re.match('w?', text2) print(res.group())print(res1.group())print(res2.group())
輸出結果為
hH
Process finished with exit code 0
示例2:?
需求:匹配出0到99之間的數字
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())
#運行結果7330 # 這個結果并不是想要的,利用$才能解決
4. {m}表示匹配m個字符 d{11}表示匹配11個數字字符import re text = 'he+llo world'text1 = 'Hello world456'text2 = 'hello world' res = re.match('w{2}', text)res1 = re.match('w{3}', text1)res2 = re.match('w{4}', text2) print(res.group())print(res1.group())print(res2.group())
輸出結果為
heHelhell
Process finished with exit code 0
示例2:{m}需求:匹配出,8到20位的密碼,可以是大小寫英文字母、數字、下劃線
import reret = re.match('[a-zA-Z0-9_]{6}','123a3g45678')print(ret.group())ret = re.match('[[a-zA-Z0-9_]{8,20}','1ad3123456addfcasdef')print(ret.group())
#運行結果123a3g1ad3123456addfcasdef
5. {m,n}表示匹配m-n個字符 w{2,4}表示匹配2-4個字符import re text = 'hello world'text1 = 'Helloworld456'text2 = 'hello world' res = re.match('w{2,5}', text)res1 = re.match('w{6,8}', text1)res2 = re.match('w{20,25}', text2) print(res.group())print(res1.group())print(res2)
helloHelloworNone
Process finished with exit code 0
到此這篇關于python正則表達式re.match()匹配多個字符方法的實現的文章就介紹到這了,更多相關python re.match()匹配字符內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
