Hello,
I have multiple values for a field in my search results and they look like the ones below. Can you show me the condition to regex the second value so that it becomes "aks-nodes-15133334-vmss" without the trailing numbers after vmss? At the same time, I would like to maintain value 1 as it is since it doesn't have "vmss" in the trailing name. So, if the value contains vmss, remove the trailing numbers but if there's no vmss in the value, let the value remains at it is.
Before
1) aks-agentpool-60893500-2
2) aks-nodes-15133334-vmss000002
After
1) aks-agentpool-60893500-2
2) aks-nodes-15133334-vmss
If I do this (?<host>.+\D), it will make item 2 looks like aks-nodes-15133334-vmss but it makes item 1 looks like aks-agentpool-60893500-
Thank you for your help.
Try
(?<host>.*(vms)?\D)
Thanks. It works for no.2 but for no.1, it regex the value as "aks-agentpool-60893500-" (without the 2).
Apologies, for some reason it was working fine in regex101
https://regex101.com/r/Wlrjiv/1
Try another version - tested in Splunk
| makeresults |eval hosts="aks-agentpool-60893500-2 aks-nodes-15133334-vmss000002"|makemv hosts|mvexpand hosts
|rex field=hosts "(?<host>.*(?=vmss)\D+|.+)"