正则表达式匹配指定电力单位结尾数值的技术求助
解决带指定单位的数值提取问题
嘿,我来帮你搞定这个正则表达式的需求!你需要从文本里提取以kW、MW或kWp为单位的数值,同时忽略掉那个带eur/MWh的数值——之前的正则只匹配了数字加空格,所以把不需要的内容也捞进来了,调整一下正则就能精准捕获目标内容。
正确的正则表达式方案
我们可以用这个正则来精准匹配带指定单位的数值:
r'\d+,\d+\s(?:kW|MW|kWp)'
正则各部分解释:
\d+:匹配1个及以上的数字(对应数值的整数部分),:匹配作为小数分隔符的逗号\d+:匹配小数部分的数字\s:匹配数值和单位之间的空格(?:kW|MW|kWp):非捕获组,匹配kW、MW、kWp中的任意一个单位,避免额外捕获不必要的分组结果
Python代码示例
把这个正则用到你的场景里,代码如下:
import re text = "od 01. 01. 2015 do 28. 06. 2026 pevnú cenu elektriny pre stanovenie doplatku vo výške 387,65 eura/MWh, vyrobenej zo slnečnej energie v zariadení výrobcu elektriny s celkovým inštalovaným výkonom 4,82 kW, umiestnenom na streche Múzea" # 使用调整后的正则表达式 matches = re.findall(r'\d+,\d+\s(?:kW|MW|kWp)', text) print(matches) # 输出: ['4,82 kW']
这样就能精准捕获到你想要的4,82 kW,而完全忽略掉387,65 eura/MWh啦!
内容的提问来源于stack exchange,提问作者Witchery
相关产品推荐
相关产品推荐

