Python:正则表达式
2021/10/24 22:14:13
本文主要是介绍Python:正则表达式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# 正则表达式 import re # 指定内容匹配 text = '我来自遥远的艾泽拉斯,我是矮人一族,是一个射手,it is my honour,i am proud of it!,height115s,weight130s!' v1 = re.findall('我',text) print(v1) # ['我', '我'] # 多个相关内容匹配 v2 = re.findall('[我艾是]',text) # 匹配”我“、”艾“、”是“ print(v2) # ['我', '艾', '我', '是', '是'] v3 = re.findall('o[nu]',text) # 匹配on和ou print(v3) # ['on', 'ou', 'ou'] v4 = re.findall('[^我是omt]',text) # 匹配除了我、是、o、m、t以外的所有内容 print(v4) #['来', '自', '遥', '远', '的', '艾', '泽', '拉', '斯', ',', '矮', '人', '一', '族', ',', '一', '个', '射', # '手', ',', 'i', ' ', 'i', 's', ' ', 'y', ' ', 'h', 'n', 'u', 'r', ',', 'i', ' ', 'a', ' ', 'p', 'r', 'u', 'd', # ' ', 'f', ' ', 'i', '!', ',', 'h', 'e', 'i', 'g', 'h', '1', '1', '5', 's', ',', 'w', 'e', 'i', 'g', 'h', '1', '3', # '0', 's', '!'] v5 = re.findall('h[a-z]',text) # 匹配h和a-z在内的所有英文字母连接的内容 print(v5) # ['ho', 'he', 'ht', 'ht'] v6 = re.findall('t[0-9]',text) # 匹配t和所有0-9之间的数字连接的内容 print(v6) # ['t1', 't1'] # .代指除了换行符以外的任意字符 v7 = re.findall('h.1',text) # ·代表一个字符 print(v7) # ['ht1', 'ht1'] v8 = re.findall('h.+1',text) # 贪婪匹配:从第一个h开始到最后一个i结束的所有内容 print(v8) # ['honour,i am proud of it!,height115s,weight1'] v9 = re.findall('h.+?1',text) # 非贪婪匹配:所有h到1之间的内容 print(v9) # ['honour,i am proud of it!,height1', 'ht1'] # \w代指数字或字母或下划线或中文,遵循贪婪匹配原则 v10 = re.findall('h\w+i',text) print(v10) # ['hei'] v11 = re.findall('我\w+一',text) print(v11) # ['我是矮人一'] v16 = re.findall('我\w',text) print(v16) # ['我来', '我是'] # \d代指数字 v12 = re.findall('t\d+s',text) print(v12) # ['t115s', 't130s'] v13 = re.findall('t\d',text) print(v13) # ['t1', 't1'] v14 = re.findall('t\d+',text) print(v14) # ['t115', 't130'] # \s代指任意的空白符,包括空格、制表符等 v15 = re.findall('i\w+\s+\ws',text) print(v15) # ['it is'] text01 = '他是个大人,是个大好人,是个大好好人,是个大好好好人' v16 = re.findall("大好*人",text01) # 好出现0次或者n次 print(v16) # ['大人', '大好人', '大好好人', '大好好好人'] text02 = '他有钱,有很多钱,有很多很多的gold_钱' v17 = re.findall('有\w+钱',text02) # 数字或字母或下划线或中文出现1次或很多次 print(v17) # ['有很多钱', '有很多很多的gold_钱'] text03 = '他是人,他是好人,是个大好人' v18 = re.findall('是\w?人',text03) # 数字或字母或下划线或中文重复0次或1次 print(v18) # ['是人', '是好人'] text04 = '1287329873929287398' v19 = re.findall('732\d{4}',text04) # 732后的数字重复出现4次 print(v19) # ['7329873'] text05 = '23199,2310102,231299384,2319994483874' v20 = re.findall('231\d{4,}',text05) # 231后面的数字重复出现4次及以上次数 print(v20) # ['2310102', '231299384', '2319994483874'] text06 = '我的手机号是15188889999,他的电话是00008888,他的邮编是317021' v21 = re.findall('\d{8,11}',text06) # 数字重复出现8到11次 print(v21) # ['15188889999', '00008888'] text07 = '我的手机号是1511234567,他的电话是0123456789,他的邮编是317021' v22 = re.findall('123(\d{1,5})',text07) # 提取123后面出现的1-5位数字 print(v22) # ['4567', '45678'] v23 = re.findall('123(4)5(6\d{1,2})',text07) # 提取4和6及6后面出现的1-2位数字 print(v23) # [('4', '67'), ('4', '678')] v24 = re.findall('(123(4)5(6\d{1,2}))',text07) # 提取123456及后面的1-2位数、4、6及6后面出现的1-2位数字 print(v24) # [('1234567', '4', '67'), ('12345678', '4', '678')] text08 = '你是个大人才,真是太666了啊,厉害' v25 = re.findall('(你是个(\w{3})|(\d+\w))',text08) # |:或者的意思,提取你是个后面三个字符或者数字+后面的一个字符 print(v25) # [('你是个大人才', '大人才', ''), ('666了', '', '666了')]
这篇关于Python:正则表达式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享