我正在尝试编写一个将导致多个匹配的grok表达式。我正在解析一条有5次重复相同模式的行。
我已经能够制作一个带有正则表达式的简单模式,它将返回多个匹配但看起来Grok不会那样工作。我不太了解Ruby,所以我还没有真正检查过代码。
示例输入:
222444555
模式:
(?<number>\d{3})*
我原本期望这样的输出:
"number" : [
[
"222", "444", "555"
]
]
或类似的东西。这在Grok有可能吗?我知道我可以重复这种模式三次,但在某些方面,重复次数不明。
任何指针?
答案 0 :(得分:0)
我采取了不同的方法。我用grok来提取重复的部分线。然后我使用cordova platform rm <platform>
滤镜使用扫描功能将线条切割成部分:
ruby {}
这非常有效,因为它在segment属性中创建了一个数组,然后在该字段后跟ruby {
code => "event.put('segment', event.get('segments').scan(/.{3}/))
}
我得到了我想要的多个事件。