zoukankan      html  css  js  c++  java
  • re正则表达四

      1、定义:

        用来简洁表达一组字符串的表达式。

        通用的字符串表达框架。

        针对字符串表达简洁和特征思想的工具。

        判断某字符串的特征归属。

      2、作用

        表达文本类型的特征(病毒,入侵等)

        同时查找或替换一组字符串

        匹配字符串的全部或部分。

      3、使用

        编译:将符合正则表达式语法的字符串转换成正则表达式特征。

      4、语法

        正则表达式语法是由字符和操作符构成,下面介绍正则表达式的常用操作符:

        

        

       5、匹配ip地址的正则表达式

        ip地址字符串形式的正则表达式(ip地址分四段,每段0-255)

        

      6、re库的使用

        re库介绍:

          re库是python的标准库,主要用于字符串的匹配。

          调用:import re

        正则表达式的表达类型:

          raw string类型(原生字符串类型)

            re库采用raw string类型表示正则表达式,表示为:r'text'

            例如: r'[1-9]d{5} 中国邮政编码表达式

            原生字符串是不包括转义字符的字符串

          string类型 更加繁琐(包括转义字符)

      7、re库主要功能函数

          

          1)、re.search(pattern,string,flags=0)

            pattern:正则表达式的字符串或原生字符串表示

            string:带匹配字符串

            flags:正则表达式使用时的控制标记(常用的标记有)

             

    import re 
    search = re.search(r'[1-9]d{5}','BIT 10081')
    #判断search是否为空
      print(search.group(0)

          2)、re.match(pattern,string,flags=0)

            pattern:正则表达式的字符串或原生字符串表示

            string:带匹配字符串

            flags:正则表达式使用时的控制标记

    import re
    match = re.match(r'[1-9]d{5}','10081 BIT')
    if match:
        print(match.group(0)

          3)、re.findall(pattern,string,flags=0)

            pattern:正则表达式的字符串或原生字符串表示

             string:带匹配字符串

            flags:正则表达式使用时的控制标记

    import re
    ls = re.findall(r'[1-9]d{5}','BIT10081 TSU100084')
    print(ls)

          4)、re.split(pattern,string,maxsplit=0,flags=0)

            pattern:正则表达式的字符串或原生字符串表示

             string:带匹配字符串

            maxsplit:最大分割数,剩余部分作为最后一个元素输出

            flags:正则表达式使用时的控制标记   

    import re 
    print(re.split(r'[1-9]d{5}','BIT10081 TSU100084'))
    #加入最大分割数
    print(re.split(r'[1-9]d{5}','BIT10081 TSU100084',maxsplit=1))

          5)re.finditer(pattern,string,flags=0)

            pattern:正则表达式的字符串或原生字符串表示

             string:带匹配字符串

            flags:正则表达式使用时的控制标记

    import re
    for m in re.finditer(r'[1-9]d{5}','BIT10081 TSU100084')
            if m:
                print(m.group(0))

          6)、re.sub(pattern,repl,string,count=0,flags=0)

            pattern:正则表达式的字符串或原生字符串表示

            repl:替换匹配字符串的字符串

             string:带匹配字符串

            count:匹配的最大替换次数

            flags:正则表达式使用时的控制标记

    import re
    print(re.sub(r'[1-9]d{5}',':zipcode','BIT10081 TSU100084'))
  • 相关阅读:
    react组件通信方式总结
    js实现@提到好友
    Vue的事件修饰符
    前端数据脱敏处理方法
    Vue 开发必须知道的36个技巧(
    vue函数式组件
    js中arraybuffer与blob的区别
    JS的二进制:Blob、ArrayBuffer和Buffer
    java中字节流与字符流的区别
    [Hei-Ocelot-Gateway ].Net Core Api网关Ocelot的开箱即用版本
  • 原文地址:https://www.cnblogs.com/fb1704011013/p/11182040.html
Copyright © 2011-2022 走看看