如何使用正则表达式使用两个不同的分隔符将字段值拆分为多个值

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。