您的位置:首页技术文章
文章详情页

python正则表达式re.match()匹配多个字符方法的实现

浏览:80日期:2022-06-29 08:49:17
1. *表示匹配任意多个字符 d*表示匹配任意多个数字字符

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()匹配字符内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!

标签: Python 编程
相关文章: