python - 如何使用 python 正则表达式将字符串转换为字典
问题描述
字符串格式是这样的<000001|ABC=123|DEF=456|~GHI=TEST|JKL=O1234_ABC.pdf>
输出格式应该是这样的{'ABC': '123', 'DEF': '456', '~GHI': 'TEST', 'JKL': 'O1234_ABC.pdf'}
我写了这个:groups = re.findall(r'(\w+)=(.*?)', line)
,但它没有得到最后一个元素。
解决方案
\w
只匹配字母、数字和下划线,不匹配~
or .
。
您应该使用匹配除定界符之外的任何内容的模式:<
在开头、|
项目=
之间、名称和值之间以及>
结尾。
re.findall(r'([^<=|>]+)=([^<|>]+)', line)
推荐阅读
- r - 如何在 R 中显示箱线图的各个点?
- css - 运行 npm run scss
- reactjs - React Markdown - 如何将自定义简码呈现到组件中
- filter - OData 扩展字段并按它们过滤
- javascript - React:如何在按钮组中切换活动类?
- angular - Azure 静态网站在更改后不显示更新?
- javascript - ReactJs 中的数据可视化与 ChartJs
- javascript - 这个组合器是什么?
- react-native - 如何在 react-native-charts-kit 中显示点击的值
- javascript - PHP:带有格式字符串的日期()不起作用