所以我有一个看起来是这样的一个日志文件的文本块:正则表达式/ Perl来匹配包含字符串
EVENT-header
apple
orange
peach
blueberry
EVENT-header
bike
car
blueberry
EVENT-header
reddit
hacker news
stack overflow
slashdot?
voat
我所试图做的是提取文本的块(从事件 - 在下一个EVENT-header之前添加到两个换行符的头部)包含单词“桃子”。
我认为这是一个正则表达式可以解决的问题,但是我很难做出这样的正则表达式。这是我到目前为止:
's/EVENT-header((?!\n\n).)+peach((?!\n\n).)+\n\n/&/p'
我不是这方面的专家。有使用正则表达式/ perl的简单方法吗?
可能是值得一提的是'chomp'删除记录分隔符,它可以使事情有点清洁器。例如。你可以设置'$ /'为“\ n \ nEVENT-header \ n”,然后'chomp'将它们从块中移出。 – Sobrique