我正在尝试解析以下字符串
content = "ACC=OFF,Latitude = 01 15 30.20S Longitude = 036 47 10.83E,Speed = 0.00Km/h,Odometer = 36.477Km,2014-05-05,05:54"
如下:
print re.findall(r'([\w\.-]+)=([\w\.-]+)', content)
输出是:
[('ACC', 'OFF')]
但预期的输出应该是:
[('ACC', 'OFF'),('Latitude','01 15 30.20S'),('Longitude','036 47 10.83E'),('Speed','0.00Km/h'),('Odometer','36.477Km').......]
任何帮助将不胜感激
最佳答案
记住空格和/
:
In [13]: re.findall(r'([\w\.-]+)\s*=\s*([\w\.\s/-]+)', content)
Out[13]:
[('ACC', 'OFF'),
('Latitude', '01 15 30.20S Longitude '),
('Speed', '0.00Km/h'),
('Odometer', '36.477Km')]
如您所见,Longitude
未被识别,因为它被视为 Latitude
值的一部分。
关于Python 正则表达式 findall 不打印所有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23469380/