我正在尝试使用python中的正则表达式从输出中提取一些感兴趣的字段。
假设我的字符串为
Interface1 is down (Administratively down)
我写的正则表达式是:
pat = 'Interface(\d) is (\S)+ (.*)'
并且我能够获得必填字段,但是当界面启动时,就没有理由打印了,我也想让这种情况下的正则表达式工作..现在我用我编写的常规exp了,它没有似乎工作..有人可以帮忙..
当接口打开时,输出将是
Interface1 is Up
m.group()
Traceback (most recent call last):
File "<pyshell#38>", line 1, in <module>
m.group()
AttributeError: 'NoneType' object has no attribute 'group'
python大神给出的解决方案
您需要删除第二个捕获组和最后一个捕获组之间的空间,以使两者匹配。同样,组外的+
运算符使其成为重复组;放在里面。
Interface(\d+) is (\S+)(.*)
Regex101