我有这些数据:
1.2 GHz___(528)
1.3 GHz___(417)
1.4 GHz___(102)
1.5 GHz___(174)
1.6 GHz___(30)
528 MHz___(66)
533 MHz___(9)
550 MHz___(3)
600 MHz___(87)
624 MHz___(6)
我有这个正则表达式:
(\d{1,4})((,|.)(\d{1,2})){0,1}
它适用于Mhz值,但遗憾的是它对Ghz值不起作用:
这是我得到的输出,我无法理解错误:
1.2.2
1.3.3
1.4.4
1.5.5
1.6.6
528
533
550
600
624
我想要的输出是:
1.2
1.3
1.4
1.5
1.6
528
533
550
600
624
答案 0 :(得分:3)
为什么不在每一行上获得第一个以空格分隔的值?
CollapsingToolbarLayout
如果你真的想要一个正则表达式,你可以这样做:
def parse_data(data):
for line in data:
if line:
yield line.split()[0]
data = """
1.2 GHz___(528)
1.3 GHz___(417)
1.4 GHz___(102)
1.5 GHz___(174)
1.6 GHz___(30)
528 MHz___(66)
533 MHz___(9)
550 MHz___(3)
600 MHz___(87)
624 MHz___(6)"""
numbers = list(parse_data(data.splitlines()))
print(numbers)
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以使用此模式获取所有数值(+ ve,-ve,float,int):
(?P<value>[-+]?[0-9]*[.]?[0-9]+|[0-9]+)