Python 正则表达式 findall 不打印所有

标签 python regex parsing

我正在尝试解析以下字符串

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/

相关文章:

python - Pygame KEYDOWN 名称错误

python - PyCurl 安装不成功

java - 如何使用正则表达式验证二进制分数?

python - 为 6 个字符的代码编写正则表达式

json - 如何使用jq解析一个json对象数组

python - Elasticsearch DSL 扫描结果

python - 在进程sqlite之间共享内存数据库

java - 如何在java中不解析xml获取特定值

python - 难以使用具有不同格式字符串的 Python struct.Struct.unpack_from

python - 如何使用没有类的 BeautifulSoup 提取值