【发布时间】:2019-10-02 20:08:00
【问题描述】:
我一直在编写一个 python 脚本来发布一些关于我的 pihole 的信息,并且遇到了一个小问题。我似乎无法让re.sub 像我想要的那样为我工作。
我想要完成的是获取netifaces.interfaces() 的输出,对我来说是['lo', 'ens4', 'tun0', 'tun1'] 并使其看起来像ens4, tun0, tun1
我尝试过使用
netfaces = str(netifaces.interfaces())
netfaces = re.sub('\[|\'|lo|\'|\]', '', netfaces)
但它给了我这个输出:
, ens4, tun0, tun1
编辑:
感谢@the-fourth-bird
我扩展了他们给出的正则表达式并来到了这个
'lo'(?:,\s*)?|[][')(]|(?:,\s*)?'lo'
我的看法:
'lo'(?:,\s*)? - 在字符串中搜索'lo', 并删除任何发现的内容
[][')(] - 删除所有 ][ ' )( 无论是否找到
(?:,\s*)?'lo' - 删除所有, 'lo',无论是否被发现
这也适用于我得到的os.getloadavg() 输出
【问题讨论】:
标签: python regex python-3.x regex-lookarounds