• 如何使用 re模块的, spilt.


    例: 这是一组  网卡的信息。 

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:1c:42:a5:57:7a brd ff:ff:ff:ff:ff:ff
    3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
        link/ether 52:54:00:a3:74:29 brd ff:ff:ff:ff:ff:ff
    4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 500
        link/ether 52:54:00:a3:74:29 brd ff:ff:ff:ff:ff:ff
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:1c:42:a5:57:7a brd ff:ff:ff:ff:ff:ff
        inet 10.211.55.4/24 brd 10.211.55.255 scope global eth0
        inet6 fdb2:2c26:f4e4:0:21c:42ff:fea5:577a/64 scope global dynamic
           valid_lft 2591752sec preferred_lft 604552sec
        inet6 fe80::21c:42ff:fea5:577a/64 scope link
           valid_lft forever preferred_lft forever
    3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
        link/ether 52:54:00:a3:74:29 brd ff:ff:ff:ff:ff:ff
        inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
    4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 500
        link/ether 52:54:00:a3:74:29 brd ff:ff:ff:ff:ff:ff
    

     我想要将,其中的内容提取出来。

    那么就需要 对 每一组字符串进行解析才可以。

    最好的就是,使用 里面的  1 2 3 4  进行分割。将数据分割成8 个字符串。

    但是单纯的 字符串的  split 方法, 并不能满足要求。  如果使用字符串的 split 方法。 可能就需要多次的去分割, 而且在不知道数据有多少的情况下, 也没法搞。

    所有 使用 re 模块的 compile  和  split  就能很完美的解决这件事。

    看数据能知道,每一组的开头都是 数字。 而且数字之前都是有换行的  。

    所以如果要匹配这些换行怎么做呢?

    re.findall(' d', out)  # [' 2', ' 3', ' 4', ' 1', ' 2', ' 3', ' 4']

    使用这些匹配出来的数据, 再去分割文件的话,就可以了。用的时候只需要:

    li = re.compile('
    ?
    d').split(filestr)
    添加了 ? 万一有 也不会出问题。

    然后就可以循环li 里面的每一条数据。
  • 相关阅读:
    python 有关datetime时间日期 以及时间戳转换
    开园杂记
    vue beforeRouteEnter 注意点
    html 头像裁剪框
    window server服务器配置ftp服务
    js 使用 delete 删除对象的属性
    win 自带的截屏工具
    idea 配置新建类自动加注解
    mysql varchar 使用唯一索引时无法区分大小写 可以使用varbinary
    在 laradock 环境中使用 laravel-swoole 加速你的 laravel 应用
  • 原文地址:https://www.cnblogs.com/chengege/p/10907722.html
Copyright © 2020-2023  润新知