我正在尝试用regex101提取以下5个数据。
[^=]+\s=\s(?<value_v2c>[^=]+)(?:varbind-delimiter|$)
↓↓↓↓
https://regex101.com/r/z06cgp/1
1整数:3
2弦:“灰色”
3弦:“红色”
4字符串:"i-13-130213-E3VM“
5字符串:“虚拟机故障转移可能有occurred_ -事件: vSphere HA重新启动虚拟机(20780030)摘要: vSphere HA重新启动虚拟摘要: vSphere HA重新启动虚拟机i-13-130213-E3VM上的主机je22v-p01bvs25.samroc.local在集群中的j22v-p01b日期: 11/24/2021 4:01:07 PM VM: i-13-130213-E3VM主机:je22v-p01bvs25.预示。本地资源池:jp p01b数据中心: jp-east-22v参数: eventTypeId = com.vmware.vc.ha.VmRestartedByHAEvent objectId = vm-147534 objectName = i-13-130213-E3VM严重性=警告“
但我不能为我的生命提取这5部分。有人能帮帮我吗?
我还需要使用相同的正则表达式来提取以下数据(Regex101)。此示例进行提取,但我需要使用上述相同的正则表达式。
↓↓↓↓
https://regex101.com/r/UNEbvi/1
提前谢谢!
发布于 2022-02-03 09:21:07
否定式字符类[^=]+
将在varbind-delimiter
或字符串结束时才匹配,因为该字符存在于文本中。
您可以使用非贪婪的匹配和积极的向前看:
[^=]+\s=\s(?<value_v2c>.*?)(?=varbind-delimiter|$)
https://stackoverflow.com/questions/70968550
复制相似问题