2

我在日志文件中有 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 中有多少行。

4

1 回答 1

1

你能试一下吗

pcregrep -M '<ServiceRs>(\n|.)*?</ServiceRs>'

?用于懒惰匹配

只匹配<ServiceRs>and之间的内容</ServiceRs>,排除其余text text...

参考:https ://regexr.com/3h1ug

于 2017-10-26T07:20:19.267 回答