我正在尝试创建一个正则表达式来仅输出匹配请求的最后 2 行。我有一个日志文件,上面有几行,我想用以下内容捕获最后两行:
第一行:“4bccf”和“媒体”
第二行:“Live”和“4bccf”和“my”
我为此创建了一个正则表达式:
((?=.*\b4bccf\b)(?=.*\bMedia\b)|(?=.*\bLive\b)(?=.*\b4bccf\b)(?=.*\bmy\b))
这有效,但它打印所有带有(“4bccf”和“Media”)的行+所有带有(“Live”和“4bccf”和“my”)的行
我只想得到每个的最后一行。是否可以仅在一个正则表达式中做到这一点?
如果你有想法,我很感兴趣谢谢
这是一个复杂的正则表达式(PCRE 风格),可以完成这项工作,但我建议你用你最喜欢的脚本语言编写一个脚本。它将更易于维护!
注意:我使用了
/x
允许注释并且不处理空格的标志,它对可读性非常有用;-)。如果您的正则表达式不支持它,请删除所有空格和换行符。演示和解释