20170610 日报

早上在家看了会python,主要看了下正则表达式相关的一点知识

1.正则表达式是一个特殊的字符序列,它能帮助你方便 的检查一个字符串是否与某种模式匹配。re模块使Python语言拥有全部的正则表达式功能。

eg:import re

        r=r'ab'

        printre.findall(r,'abcdefgabcd')====>[‘ab’,’ab’]

注意:如果有元字符,注意使用转义字符’\’

eg:print ‘\n’====>换行

        print ‘\\n’====>输出\n

        print r ‘\n’====>输出\n

2.元字符介绍

^匹配行首

$匹配行尾

.匹配单字符

[]匹配指定的一个字符集

[^ ]补集匹配不在区间范围内的字符,注意^放在前面

eg:r = r‘123’

        re.findall(r,’12345612345’)====>[‘123’]

        r = r ‘345$’

        re.findall(r,’1234512345’)====>[‘345’]

        r = r’3.5’

        re.findall(r,’1234512345’)====>[‘345’,’345’]

        r = r‘a[a-z A-Z 0-9]c’

        re.findall(r,’abc,aCc,a5c,a3c,afg’)====>[‘abc’,’aCc’,’a5c’,’a3c’]

        r = r’a[^0-9]c’

       re.findall(r,’abc,aCc,a5c,a3c,afg’)====>[‘abc’,’aCc’]

3.特殊意义字符

\d代表数字[0-9]

\D非数字

\s空白字符

\S非空白字符

\w单词字符[a-zA-Z0-9_]

\W非单词字符

{}前一个字符的重复的次数 前一个字符在一个范围内的重复次数

*将前一字符匹配大于等于0次,{0,}效果等价于*

+将前一字符匹配大于等于1次,{1,}效果等价于+

?将前一字符匹配0次或1次,表示是否出现,{0,1}效果等 价于?

*?尽可能少的匹配

()分组

eg:r = r’a\dc’

        re.findall(r,’abc,aCc,a5c,a3c,afg’)====>[‘a5c’,’a3c’]

        r = r’a\Dc’

        re.findall(r,’abc,aCc,a5c,a3c,afg’)====>[‘abc’,’aCc’]

4.正则常用函数

compile编译后执行速度更快

findall返回匹配列表

match匹配字符串开头,返回第一个匹配的内容

search匹配字符串全文,返回第一个匹配的内容

sub字符串正则替换,返回替换字符串

subn字符串正则替换,返回元组(替换字符串,替换次数)

split返回切割后的列表


由于家里停电,就没有继续学习,晚上导致老徐的分享也搁浅了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • re模块手册 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以...
    喜欢吃栗子阅读 9,485评论 0 13
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 9,530评论 0 20
  • 我曾经绝望地说过你的城市绝不会下雪的。 我也曾经笃定地说过我们再也不会见面了。 可我终究是错了。 今天,你的城市下...
    顾执阅读 3,517评论 0 0
  • 分析下这句话,你就会觉得奇怪。是有了血缘,你们的关系才亲密。还是关系亲密就可以抛弃血缘不谈。先说下父母和孩子吧。经...
    愿有人陪我颠沛流离阅读 3,328评论 0 0
  • 过目即忘 书籍是人类进步的阶梯——高尔基我每周向上爬一个阶梯,为什么这么多年了,还是在一楼?为了更加从容的面对考试...
    萧水浮萍阅读 2,415评论 0 2

友情链接更多精彩内容