如何使用正则表达式使用两个不同的分隔符将字段值拆分为多个值
How do I use regex to split a field value into multiple values using two different delimiters
我在 Sentinel 中有一个日志源,它在同一个日志中以两种不同的方式分隔数据,例如-
和 `$60.
到目前为止我已经尝试过:
| extend FieldNameSplit = split(FieldName , '-|')
以及:
| extend FieldNameSplit = split(FieldName, '-')
| extend FieldNameSplitTwo = split(FieldNameSplit, '')
这两种方法均未证明有效。还有其他想法吗?
提前感谢您的见解!
如果我没看错你的问题,你可以尝试使用extract_all()
函数:https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/extractallfunction
例如:
print input = "a-b-cd-efg-h"
| extend output= extract_all(@"([^-($60)]+)", values)
input
output
a-b-cd-efg-h
[
"a",
"b",
"c",
"d",
"e",
"f",
"g",
"h"
]
就个人而言,我选择在这种情况下使用 parse-where。
我在 Sentinel 中有一个日志源,它在同一个日志中以两种不同的方式分隔数据,例如-
和 `$60.
到目前为止我已经尝试过:
| extend FieldNameSplit = split(FieldName , '-|')
以及:
| extend FieldNameSplit = split(FieldName, '-')
| extend FieldNameSplitTwo = split(FieldNameSplit, '')
这两种方法均未证明有效。还有其他想法吗?
提前感谢您的见解!
如果我没看错你的问题,你可以尝试使用extract_all()
函数:https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/extractallfunction
例如:
print input = "a-b-cd-efg-h"
| extend output= extract_all(@"([^-($60)]+)", values)
input | output |
---|---|
a-b-cd-efg-h | [ "a", "b", "c", "d", "e", "f", "g", "h" ] |
就个人而言,我选择在这种情况下使用 parse-where。