我使用了一个简单的python regex,比如value="(.+?)"
来捕捉xml数据中的值,结果却发现输出有字符串和数字范围,这会扰乱下游的数据处理。我只需要捕捉数值。当有一个范围,比如说“19-20”时,我只想捕获19个。在
样本数据:
value="19-20"
value="19.984"
value="slow"
value="19.99kg/m2"
value="107"
value="221lb"
这是我所能接近的
我的部分工作regex1:
^{pr2}$我的部分工作regex2:
value="(.+?)(?:kg/m2|lb)?"
这就是我在努力得到的输出
Match1: 19
Match2: 19.984
Match3: Null (or empty)
Match4: 19.99
Match5: 107
Match6: 221
这似乎有效:
预期每个OP 6匹配,Match3=Null
使用此模式
Demo
您可以使用以下正则表达式:
从捕获的组1中获取价值
(\d+(?:\.\d+)?)
匹配1个或多个数字,后跟可选部分,即十进制和小数后的数字。在RegEx Demo
Code Demo
相关问题 更多 >
编程相关推荐