gpt4 book ai didi

php - 正则表达式匹配相似词后的字符串

转载 作者:搜寻专家 更新时间:2023-10-31 21:19:56 24 4
gpt4 key购买 nike

我正在尝试解析下面的日志文件;但是我有点想弄清楚如何匹配所有“Step=Number”之后的结果。

Step=10 , Step=11 , Step=12 , Step=13 , Step=14 , Step=15 , Step=16 , Step=18 , Step=17 , Step=20 , Step=19 , Step=25 , Step=21 , Step=26 , Step=28 , Step=24 , Step=22 , Step=23 , Step=27 , Step=30 , Step=29 , Step=35 , Step=34 , Step=32 , Step=31 , Step=38 , Step=37 , Step=36 , Step=50 , Step=45 , Step=48 , Step=41 , Step=52 , Step=42 , Step=57 , Step=65 , Step=61 , Step=62 , Step=64 , Step=54 , Step=53 , Step=59 , Step=63 , Step=84 , Step=71 , SelectedAuthenticationIdentityStores=paddedvalue, NetworkDeviceName=exampledevice, NetworkDeviceGroups=Update Source:All Sources:ACS, NetworkDeviceGroups=Device Type:All Device Types:Wireless, NetworkDeviceGroups=Location:All Locations, ServiceSelectionMatchedRule=Rule-1, IdentityPolicyMatchedRule=Default

我正在考虑在以下组合之后进行匹配:\d\s\,\s

理想的目标是匹配以下内容:

SelectedAuthenticationIdentityStores=paddedvalue, NetworkDeviceName=exampledevice, NetworkDeviceGroups=Update Source:All Sources:ACS, NetworkDeviceGroups=Device Type:All Device Types:Wireless, NetworkDeviceGroups=Location:All Locations, ServiceSelectionMatchedRule=Rule-1, IdentityPolicyMatchedRule=Default

我尝试了以下正则表达式:\d\s\\,\s(.*) 但匹配第一个 Step=Number (Step=10) 之后的所有内容

最佳答案

您可以在现有模式的开头使用另一个 .* 贪婪地消耗除最后一个可能匹配之外的所有内容:

.*\d\s,\s(.*)

演示:https://regex101.com/r/Oc7jUK/1

或者,您可以使用正向后视模式来确保匹配前面有 \d\s,\s,并使用负向后视模式来确保不再有 \d\s,\s 如下:

(?<=\d\s,\s)(?!.*\d\s,\s).*

演示:https://regex101.com/r/Oc7jUK/2

关于php - 正则表达式匹配相似词后的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54910596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com