我有一些像这样的任意输出:
ABC1 1.1.1.1 20151118 active
ABC2 2.2.2.2 20151118 inactive
xxx x.x.x.x xxxxxxxx active
我正在尝试使用正则表达式确定一个模式,以便为包含ABC
和active
这是我到目前为止所得到的,但我已经陷入困境......
我的问题似乎是第一列和第二列之间的空格,但是Python不允许在后面看到可变宽度模式。
(?<ABC)(\s+)(\d+).(\d+).(\d+).(\d+)(?=\S+\s+active)
答案 0 :(得分:1)
无需使用lookbehind。您可以使用此正则表达式并抓取捕获的组#1:
^ABC\S+\s+(\S+)(?=.*\sactive\b)
<强>代码:强>
import re
p = re.compile(ur'^ABC\S+\s+(\S+)(?=.*\sactive\b)', re.MULTILINE)
re.findall(p, input)