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

    学习内容源自:廖雪峰的官网网站Python3



    重点: re.match   re.split   re.compile


    匹配适用规则:



    个人理解:
    re.match : 用于对字符串进行整体匹配,并将我们需要的特定部分选择出来。
    如:str_ip = "network192.168.0.1gateway192.168.100.1end"
    要从str_ip当中筛选出IP地址来

    import re
    str_ip = "network192.168.0.1gateway192.168.100.1end"
            
    m = re.match(r'w+?(d{1,254}.d{1,254}.d{1,254}.d{1,254})w+',str_ip)
    

    看看输出:
    m.group()  和 m.group(0) 表达的意思相同,仅仅匹配一次,并将匹配出的内容输出

    In [213]: m.group()
    Out[213]: 'network192.168.0.1gateway192'
    
    In [213]: m.group(0)
    Out[213]: 'network192.168.0.1gateway192'
    

    m.group(1)  表示的意思是,() 小括号内的匹配内容,有多个小括号的话,按照括号顺序向后排序。

    In [214]: m.group(1)
    Out[214]: '192.168.0.1'
    

      

    这样就匹配出了IP地址,由于我们在规则当中并没有去匹配后面的,所以仅仅输出一个IP。
    注意点:m = re.match(r'w+?(d{1,254}.d{1,254}.d{1,254}.d{1,254})w+',str_ip)
    注意, w  表示 一个字符或数字。
                 w+ 表示多个字符或数字
                 w+? 表示先按照后面的规则匹配,在此例子当中,若不加?,会输出什么呢?看一看

    import re
    str_ip = "network192.168.0.1gateway192.168.100.1end"
             
    m = re.match(r'w+(d{1,254}.d{1,254}.d{1,254}.d{1,254})w+',str_ip)

    加个问号后,表示按照后面规则优先方式匹配。

    In [217]: m.group(1)
    Out[217]: '2.168.0.1'
  • 相关阅读:
    查看mysql数据库容量大小
    通过shell监控网页是否正常,然后促发邮件告警
    Linux shell标准输入,标准输出,错误输出
    linux资源管理命令之-----vmstat
    linux基础命令--lsof
    squid之------ACL控制
    JDK的二进制安装
    重置grafana密码
    CentOS 7添加开机启动服务脚本
    LVM逻辑卷理论及配置
  • 原文地址:https://www.cnblogs.com/loyfee/p/5839378.html
Copyright © 2011-2022 走看看