首页 / PYTHON / Python学习(三)
Python学习(三)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python学习(三),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1976字,纯文字阅读大概需要3分钟。
内容图文
![Python学习(三)](/upload/InfoBanner/zyjiaocheng/1047/7f20ef7b430b4abe97953efd930433ec.jpg)
一、正则表达式
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。正则表达式有两部分参数,一个是匹配规则pattern,另一个是待匹配的数据源,data_source,用正则表达式时需要导入模块re,import re
import re m = re.match(‘abc‘,‘abcdef‘) # 其中abc为pattern,abcdef为data_source,re.match(pattern,data_source)方法,# 从data_source的左边开头进行匹配,若匹配上返回一个对象并且停止匹配,即只能匹配一次,匹配不上返回Noneprint(m) if m: print(m.group()) # obj.group()方法,查看匹配到的内容
<_sre.SRE_Match object; span=(0, 3), match=‘abc‘>
abc
但以上的方法pattern写的固定,只能匹配abc不够灵活,且只能匹配一次
import re m1 = re.findall(‘[0-9]{0,10}‘,‘146567abc576def‘) # 其中[0-9]{0,10}为pattern,[0-9]代表匹配的为0-9的数字,# {0,10}代表前面定义的类型可以为相同的0-10个进行匹配,可以写一个数字代表确定的个数进行匹配# 146567abc576def为data_source,re.match(pattern,data_source)方法,# 把data_source的符合匹配规则的子字符全部匹配出来返回一个列表,# {0,10}存在0,则返回的列表会出现空的,一般是从1开始,例如{1,10} m2 = re.findall(‘[0-9]{1,10}‘,‘146567abc576def‘) m3 = re.findall(‘[a-zA-Z]{1,10}‘,‘146567abc576def‘) # [a-zA-Z]代表匹配为所有字母,大小写均可 m4 = re.findall(‘.*‘,‘146567abc576def‘) # 其中.代表可以匹配换行符以外的所有字符,*代表0到多个,功能类似{0,10} m5 = re.findall(‘.+‘,‘146567abc576def‘) # 其中+代表1到多个,功能类似于{1,10} m6 = re.search(‘\d+‘,‘146567abc576def‘) # re.search()方法,从data_source的左边开头进行匹配,直到找到一个符合的结果然后结束,# 或者找遍data_source都没有发现结束,其中\d代表匹配任意数字,类似[0-9],# \D代表匹配任意非数字,\s代表匹配任意空白字符,\S代表匹配任意非空字符,# \w匹配字母数字,\W匹配非字母数字 m7 = re.search(‘^\d+‘,‘146567abc576def‘) # 其中^代表从data_source的第一个字符开始就要求符合匹配规则,否则找不到NoneType,# $代表从data_source的最后一个字符要符合匹配规则 m8 = re.sub(‘\d+‘,‘-‘,‘146567abc576def‘) # re.sub(pattern,str,data_source,count= )方法,从data_source的左边开始,# 把匹配到的子字符串替换为设定的str,count=num可以指定替换的个数,默认全部替换if m1 or m2 or m3 or m4 or m5 or m6 or m7 or m8: # print(m.group()) # re.findall没有obj.group()方法,直接使用print(obj)查看匹配到的内容print(m1) print(m2) print(m3) print(m4) print(m5) print(m6.group()) # 查看re.search()中匹配到的子字符串print(m7.group()) print(m8)
[‘146567‘, ‘‘, ‘‘, ‘‘, ‘576‘, ‘‘, ‘‘, ‘‘, ‘‘]
[‘146567‘, ‘576‘]
[‘abc‘, ‘def‘]
[‘146567abc576def‘, ‘‘]
[‘146567abc576def‘]
146567
146567
-abc-def
原文:http://www.cnblogs.com/zsw900610/p/7058916.html
内容总结
以上是互联网集市为您收集整理的Python学习(三)全部内容,希望文章能够帮你解决Python学习(三)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。