Grok模式匹配但结果也包含模式

时间:2015-03-19 10:59:18

标签: regex xml grok

我使用HerokuApp创建一个与xml内容匹配的reg_exp。

我没有尝试解析xml,只是解压缩它。

<xml> <balise1> </balise1> <table> <tr> <td> cas1 </td> <td> cas2 </td> </tr> <tr> <td> new </td> <td> line </td> </tr> </table> </xml>

这是我为匹配tr标签内容而编写的模式。 Thanks to this documentation

(?<content>(<tr>(.)*</tr>))

因此,这个正则表达式的输出给出:

{
  "content": [
    [
      "<tr> <td> cas1 </td> <td> cas2 </td> </tr> <tr> <td> new </td> <td> line </td> </tr>"
    ]
  ]
}

当我想要它时:

{
  "content": [
    [
      "<tr> <td> cas1 </td> <td> cas2 </td> </tr>"
    ]
  ]
}

问题似乎是没有检测到第一次出现,只有最后一次出现。

我如何指定&#34;任意数量的char&#34;不能包含新的tr标签?

你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

根据Collapsar评论,我使用了一个贪婪的运算符,我应该使用一个不情愿的运算符。 This document explains the syntax of operators

编辑:我更新了文档的链接,因为它已经改变了。