zoukankan      html  css  js  c++  java
  • re 模块

    day20

    一丶re模块

    re模块是python将正则表达式封装之后的一个模块.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。

    #正则表达式:  从一串字符中,找出你想要的字符串.

    import  re

    ### 单个元字符的匹配

    # W 除了数字 ,字母,中文, 下划线
    print(re.findall('W','dsadas1231 +1-+2*/,.'))
    # w 匹配中文,数字,字母,下划线
    print(re.findall('w','jdsa213-+*/,./:[]'))

    # s 匹配 :空格
    print(re.findall('s','a d '))
    # S 匹配: 非 空格
    print(re.findall('S',' as da '))

    #d   只匹配数字:
    print(re.findall('d','123da13d'))
    #D   值匹配非数字
    print(re.findall('D','dsa1321'))

    # A 和 ^ 从开头开始匹配
    print(re.findall('Ahe','he kf danc j he ,d'))
    print(re.findall('^he','he kf danc j he ,d'))


    # $  从末尾开始匹配
    print(re.findall('aaa','dsaaaddssaaa'))
    print(re.findall('aaa$$','dsaaaddssa1aaa'))

    #
    print(re.findall(' ','d d ds a'))
    print(re.findall(' ','d d ds a'))



    #### 元字符匹配

    # . 匹配任意一个字符
       # 如果匹配成功光标则移到匹配成功的最后的字符
       # 如果匹配未成功光标则向下移动一位再次匹配
    print(re.findall('a.b','aa ,,dan a1b'))

    # ? 匹配 0个 或者 1个 由左边字符定义的片段
    print(re.findall('a?b','ab aabb aaabbb')) # ['ab', 'ab', 'b', 'ab', 'b', 'b']
    print(re.findall('a?b','sb ab aabb')) # [b, ab ,ab ,b]

    # * 匹配 0个 或者 多个 左边字符表达式, 满足贪婪模式(即:只要符合就ab都获取)
    print(re.findall('a*b','ab abb a b aabb')) # ab ab b b aab b


    # + 匹配 1个 或者 多个 左边字符表达式 ,满足贪婪模式
    print(re.findall('a+b','ab abab aab bba aabb b')) #ab ab aab aab


    #{m,n} 匹配m个至n个(能取到n)个左边字符表达式. 满足贪婪模式
    print(re.findall('a{1,3}b','ab abb b bb aaab aaaaaab')) # ab ab aaab aaab

    # .* 贪婪匹配 从头到尾
    print(re.findall('a.*b','aaa bbbliye dkjsah bnb'))
    print(re.findall('a.*b','aaa b bbliye dkjsah bnb'))

    # .*?   此时的? 不是对左边的字符进行0次或者1次的匹配
    # 而只是针对.* 这种贪婪模式进行一种限定:告知它要遵循非贪婪模式, 推荐使用!!
    # 0给或者多个
    print(re.findall('a.*?b','ab a#b bb abb aabb')) # ab a#b ab aab

    正则写的很不错的一篇

  • 相关阅读:
    kuangbin专题一:K题,POJ3984:迷宫问题(水)
    kuangbin专题一:H题,POJ3414:Pots
    IBM Lotus Domino V8.5 服务器管理入门手册
    Ubuntu命令的学习_crontab计划任务_详细用法
    没有主题、没有主题、没有主题
    Ubuntu命令的学习——安装vim软件的方法&查找文件
    Ubuntu命令的学习——添加新用户的方法
    继续Ubuntu中的命令的学习
    python-算法 于博客__Re__处复制
    pythonDay09-Linux系统ubuntu命令的学习
  • 原文地址:https://www.cnblogs.com/xiangwang1/p/12180038.html
Copyright © 2011-2022 走看看