使用正则表达式提取多个值(仅值,不需要字段名)
Extracting multi values with regex ( Only values, don't need Fieldname )
我正在尝试使用 regex101 提取以下 5 个数据。
[^=]+\s=\s(?<value_v2c>[^=]+)(?:varbind-delimiter|$)
↓↓↓↓
https://regex101.com/r/z06cgp/1
[1]
整数:3
[2]
字符串:“灰色”
[3]
字符串:“红色”
[4]
字符串:“i-13-130213-E3VM”
[5]
字符串:“可能发生虚拟机故障转移_ - 事件:vSphere HA 重新启动虚拟机 (20780030) 摘要:vSphere HA 重新启动虚拟机摘要:vSphere HA 重新启动主机 je22v-p01bvs25.shamrock.local 上的虚拟机 i-13-130213-E3VM在集群 je22v-p01b 中 Date: 11/24/2021 4:01:07 PM VM: i-13-130213-E3VM Host: je22v-p01bvs25.shamrock.local Resource pool: je22v-p01b Data center: jp-east-22v参数:eventTypeId = com.vmware.vc.ha.VmRestartedByHAEvent objectId = vm-147534 objectName = i-13-130213-E3VM severity = warning "
但我终生无法提取 [5] 部分。
有人可以帮我吗?
我还需要使用相同的正则表达式来提取以下数据(regex101)。此示例执行提取,但我需要使用上面相同的正则表达式。
↓↓↓↓
https://regex101.com/r/UNEbvi/1
提前致谢!!!
否定字符 class [^=]+
直到 varbind-delimiter
或最后一部分的字符串结尾才会匹配,因为该字符存在于文本中。
您可以改用具有正向预测的非贪婪匹配:
[^=]+\s=\s(?<value_v2c>.*?)(?=varbind-delimiter|$)
我正在尝试使用 regex101 提取以下 5 个数据。
[^=]+\s=\s(?<value_v2c>[^=]+)(?:varbind-delimiter|$)
↓↓↓↓
https://regex101.com/r/z06cgp/1
[1] 整数:3
[2] 字符串:“灰色”
[3] 字符串:“红色”
[4] 字符串:“i-13-130213-E3VM”
[5] 字符串:“可能发生虚拟机故障转移_ - 事件:vSphere HA 重新启动虚拟机 (20780030) 摘要:vSphere HA 重新启动虚拟机摘要:vSphere HA 重新启动主机 je22v-p01bvs25.shamrock.local 上的虚拟机 i-13-130213-E3VM在集群 je22v-p01b 中 Date: 11/24/2021 4:01:07 PM VM: i-13-130213-E3VM Host: je22v-p01bvs25.shamrock.local Resource pool: je22v-p01b Data center: jp-east-22v参数:eventTypeId = com.vmware.vc.ha.VmRestartedByHAEvent objectId = vm-147534 objectName = i-13-130213-E3VM severity = warning "
但我终生无法提取 [5] 部分。 有人可以帮我吗?
我还需要使用相同的正则表达式来提取以下数据(regex101)。此示例执行提取,但我需要使用上面相同的正则表达式。
↓↓↓↓
https://regex101.com/r/UNEbvi/1
提前致谢!!!
否定字符 class [^=]+
直到 varbind-delimiter
或最后一部分的字符串结尾才会匹配,因为该字符存在于文本中。
您可以改用具有正向预测的非贪婪匹配:
[^=]+\s=\s(?<value_v2c>.*?)(?=varbind-delimiter|$)