zoukankan      html  css  js  c++  java
  • 正则表达式学习笔记

    正则表达式

    语法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

  • 相关阅读:
    Laravel报500错误
    本地部署laravel项目遇到500错误 软链接
    Class 'Maatwebsite\Excel\ExcelServiceProvider' not found
    laravel5.8报500服务器错误
    phpstudy安装redis
    如何在FastAdmin中使用Ajax发送请求?
    关于mysql处理百万级以上的数据时如何提高其查询速度的方法
    判断一个数组里面的所有键所对应的值是否是为int型
    将json字符串中含有非int型的数字字符全部改为int型
    php判断json是否是一个标准的json字符串
  • 原文地址:https://www.cnblogs.com/Java-Starter/p/15522547.html
Copyright © 2011-2022 走看看