gpt4 book ai didi

golang 中的正则表达式换行符和空格

转载 作者:IT王子 更新时间:2023-10-29 01:16:41 25 4
gpt4 key购买 nike

我试图将下面的字符串与正则表达式匹配并从中获取一些值。

/system1/sensor37
Targets
Properties
DeviceID=37-Fuse
ElementName=Power Supply
OperationalStatus=Ok
RateUnits=Celsius
CurrentReading=49
SensorType=Temperature
HealthState=Ok
oemhp_CautionValue=100
oemhp_CriticalValue=Not Applicable

为此使用了下面的正则表达式

`/system1/sensor\d\d\n.*\n.*\n\s*DeviceID=(?P<sensor>.*)\n.*\n.*\n.*\n\s*CurrentReading=(?P<reading>\d*)\n\s*SensorType=Temperature\n\s*HealthState=(?P<health>.*)\n`

现在我的问题是:有更好的方法吗?我明确提到了字符串中的每个新行和空格组。但是我可以说/system.sensor\d\d.*DeviceID=(?P<sensor>.*)\n*.吗? (它对我不起作用,但我相信应该有办法。)

最佳答案

默认 . 不匹配换行符。要更改它,请使用 s 标志:

(?s)/system.sensor\d\d.*DeviceID=(?P<sensor>.*)

发件人:RE2 regular expression syntax reference

(?flags) set flags within current group; non-capturing
s - let . match \n (default false)

关于golang 中的正则表达式换行符和空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43706322/

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