• 二十一、正则表达式


    正则表达式简介
     概念
      正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑(可以用来做检索,截取或者替换操作)。
     作用
    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 模块中其他常用的函数,具体百度资料。


  • 相关阅读:
    关于git---远程
    关于git---主要
    css特效
    Canvas图片压缩
    TypeScript简单介绍
    html 常见兼容性问题及解决方法
    cookies,sessionStorage 和 localStorage 的区别
    vue-element-admin vue.config.js
    ② nodejs + mongodb 搭建服务器
    ① 数据自动填充
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/12441158.html
Copyright © 2020-2023  润新知