I didn't found a operator similar to the pattern match in the provided link. But (I think) I found a way to meet your conditions.
find a record, which meets the following conditions:
field1 == "A"
and
there are no records with field1 == "B" anywhere down below in dataset (assuming we have sorted the dataset)
Kusto:
CompTable
| order by someid asc,Timestamp asc
| serialize
| summarize mylist = make_list(event) by someid
| where not(tostring(mylist) matches regex "A.*B")
And the second case:
find a record, which meets the following conditions:
field1 == "A"
and
there are no records with field1 == "B" anywhere down below after "A"
and
there is at least 1 record with field1 == "C" anywhere down below after "A"
Kusto:
CompTable
| order by someid asc,Timestamp asc
| serialize
| summarize mylist = make_list(event) by someid
| where not(tostring(mylist) matches regex "A.*B")
| where tostring(mylist) matches regex "A.*C"
Hope this will help.
Kind regards, Wilko
Please do not forget to "Accept the answer” wherever the information provided helps you, this can be beneficial to other community members. If you have extra questions about this answer, please click "Comment".