zoukankan      html  css  js  c++  java
  • 二十一、正则表达式

    正则表达式简介
     概念
      正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑(可以用来做检索,截取或者替换操作)。
     作用
    1.给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”)。
    2.可以通过正则表达式,从字符串中获取我们想要的特定部分。
    3.还可以对目标字符串进行替换操作。
    '''
    match的使用:re.match 尝试从字符串的起始位置匹配一个模式,
    如果不是起始位置匹配成功的话, match()就返回 None
    re.match(pattern, string, flags=0)
    re.search(pattern, string, flags=0) 指可以不从起始位置进行匹配
    '''
    import re
    patter='ello'
    word='hello python'
    #mat=re.match(patter,word,flags=re.I)# re.I表示忽略大小写
    mat=re.search(patter,word,flags=re.I)
    if mat is not None:
    print(mat.group())
    print(mat.start())
    print(mat.span())
    else:
    print('匹配失败')
    '''
    分组进行匹配
    '''
    #1使用()
    # 匹配座机号010-444212,格式是区号是3或4位,号码是5,8位
    import re
    # pattern=r'(d{3,4})-([1-9]d{4,7}$)'
    # s='010-678362'
    # o=re.match(pattern,s)
    # print(o)
    # print(o.group())
    # print(o.group(2))
    # print(o.groups())
    # print(o.groups()[1])
    # # um进行匹配
    # pattern=r'<(.+)><(.+)>.+</2></1>'
    # s='<html><body>htmlsss</body></html>'
    # o=re.match(pattern,s)
    # print(o)
    #起别名使用
    pattern=r'<(?P<p_html>.+)><(?P<p_body>.+)>.+</(?P=p_body)></(?P=p_html)>'
    s='<html><body>htmlsss</body></html>'
    o=re.match(pattern,s)
    print(o)
    
    
    贪婪模式和非贪婪
    
    
      贪婪模式指 Python 里数量词默认是贪婪的,总是尝试匹配尽可能多的字符。非贪婪模式与贪婪相反,总是尝试匹配尽可能少的字符,可以使用"*","?","+","{m,n}"后面加上?,使贪婪变成非贪婪。
    
    
    print('贪婪模式')
    v= re.match(r'abc(d+)','abc123')
    print(v.group(1))
    #非贪婪模式
    print('非贪婪模式')
    v= re.match(r'abc(d+?)','abc123')
    print(v.group(1))
    
    
    re 模块中其他常用的函数,具体百度资料。


  • 相关阅读:
    HashMap源码解读(转)
    使用javascript开发2048
    程序猿接私活经验总结,来自csdn论坛语录
    Cocos2d-x实例:设置背景音乐与音效- AppDelegate实现
    Jenkins(二)
    SVN高速新手教程
    Visio Premium 2010密钥+破解激活方法
    oracle中LAG()和LEAD()等分析统计函数的使用方法(统计月增长率)
    shell语法简单介绍
    memset函数具体说明
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/12441158.html
Copyright © 2011-2022 走看看