• 正则表达式学习笔记


    正则表达式

    语法1


    测试代码

    import re
    
    # ma = re.match(r'.','1d')和ma = re.match(r'[0-9]','1d')都可以匹配到含有该字符开头的若干个字符
    # [.]这种写法是错误的
    # 然而一旦外层有'['或者'{'和其他的特殊符号,则只能匹配含有该字符的一个字符,如r'{[abc]}'
    ma = re.match(r'.', '1d')
    print ma.group()
    
    ma = re.match(r'{.}', '{a}')
    print ma.group()
    
    ma = re.match(r'{..}', '{a2}')
    print ma.group()
    
    ma = re.match(r'{[abc]}', '{b}')
    print ma.group()
    
    ma = re.match(r'{[a-z]}', '{e}')
    print ma.group()
    
    ma = re.match(r'{[a-zA-Z]}', '{A}')
    print ma.group()
    
    ma = re.match(r'{[a-zA-Z0-9]}', '{6}')
    print ma.group()
    
    ma = re.match(r'{[\w]}', '{6}')
    print ma.group()
    # \W可以匹配空格
    ma = re.match(r'{[\W]}', '{ }')
    print ma.group()
    
    ma = re.match(r'\[[a]\]', '[a]')
    print ma.group()
    
    ma = re.match(r'\d', '123c')
    print ma.group()
    
    ma = re.match(r'\D', 'dfs1')
    print ma.group()
    
    ma = re.match(r'\s', '  ')
    print ma.group()
    
    ma = re.match(r'\S', 'ss')
    print ma.group()
    
    ma = re.match(r'[A-Z][a-z]', 'AsD')
    print ma.group()
    
    ma = re.match(r'[A-Z][a-z]*', 'AswD')
    print ma.group()
    # 变量命名规则
    # 加+号和*效果一样
    # python命名规则正则表达式
    ma = re.match(r"a[_a-zA-Z]+[_\w]*", 'aSwDff2')
    print ma.group()
    
    ma = re.match(r'[1-9]?[0-9]', '09')
    print ma.group()
    
    ma = re.match(r'[a-zA-Z0-9]{5}', 'abcd1')
    print ma.group()
    
    ma = re.match(r'[a-zA-Z0-9]{6,10}@163.com', 'cjy12345@163.com')
    print ma.group()
    # 非贪婪模式,尽可能少匹配,这里指尽可能不匹配(匹配0次)
    ma = re.match(r'[0-9][a-z]*?', '1bc')
    print ma.group()
    # ??和*?功能一样,尽可能少匹配,即匹配0次
    ma = re.match(r'[0-9][a-z]??', '1bc')
    print ma.group()
    
    ma = re.match(r'[0-9][a-z]+?', '1bc')
    print ma.group()
    

    语法2


    测试代码

    import re
    
    ma = re.match(r'[\w]{4,10}@163.com$','ccjy5130@163.com');
    print ma.group()
    
    ma = re.match(r'\Aimooc[\w]*','imoocpython')
    print ma.group()
    

    语法3


    测试代码
    import re

    ma = re.match(r'[\w]{4,10}@163.com$','ccjy5130@163.com');
    print ma.group()

    ma = re.match(r'\Aimooc[\w]*','imoocpython')
    print ma.group()

    语法4


    测试代码

    import re
    
    ma = re.match(r'abc|d','abc')
    print ma.group()
    
    ma = re.match(r'[1-9]?\d$','99')
    print ma.group()
    #|表示左右表达式都可以匹配
    ma = re.match(r'[1-9]?\d$|100','100')
    print ma.group()
    #()表示分组
    ma = re.match(r'[\w]{4,6}@(163|126).com','cjy51@126.com')
    print ma.group()
    
    ma = re.match(r'<[\w]+>','<book>')
    print ma.group()
    #\num引用之前的匹配的字符串
    ma = re.match(r'<([\w]+>)[\w]+</\1','<book>python</book>')
    print ma.group()
    
    ma = re.match(r'<(?P<mark>[\w]+>)[\w]+</(?P=mark)','<book>Java</book>')
    print ma.group()
    
    


    作者:Rest探路者
    出处:http://www.cnblogs.com/Java-Starter/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意请保留此段声明,请在文章页面明显位置给出原文连接
    Github:https://github.com/cjy513203427

  • 相关阅读:
    Photoshop CC 与前端那些事
    gulp入門指南
    谈谈css左右等高的几个方法
    angularjs给Model添加拦截过滤器,路由增加限制,实现用户登录状态判断
    前端自动化工具
    React Router
    Sublime Text 3 常用插件安装
    c++ primer学习指导(13)--1.6书店程序
    c++ primer学习指导(12)--1.5.2初识成员函数
    c++ primer学习指导(11)--1.5.1Sales_item类
  • 原文地址:https://www.cnblogs.com/Java-Starter/p/15522547.html
Copyright © 2020-2023  润新知