我有日志文件中的xml,如下所示:
<ServiceRs> 1 </ServiceRs> text text text <ServiceRs> 2 </ServiceRs> text
所以,我需要从日志文件剪切这个XML,我试图做到这一点:
pcregrep -M '<ServiceRs>(\n|.)*</ServiceRs>'
但在此之后,我没有得到两个ServiceRs的XML,我得到这个:
<ServiceRs> 1 </ServiceRs> text text text <ServiceRs> 2 </ServiceRs>
我知道,我可以修改模式 – (\ n |。)* – >(\ n |。){0,n),但是我真的不知道xml中有多less行。
你能试一下吗
pcregrep -M '<ServiceRs>(\n|.)*?</ServiceRs>'
?
是懒惰的比赛
它只匹配<ServiceRs>
和</ServiceRs>
之间的内容,并排除其余text text...
参考: https : //regexr.com/3h1ug