如何解决使用正则表达式在Python 3中查找括号中的内容
这是我的示例字符串:
[true,{"name": "NameofItem","amount": "1","price": 100,"sellerName": "Sellername1","sellerId": 1},{"name": "NameofItem2","price": 101,"sellerName": "Sellername2","sellerId": 2},22250]
我需要找到一种方法来获取“ price”的第一个实例,它是关联的整数。 我以为我可以使用re.match和
(\{.*?\})
获取第一组内容,然后转换为字典,但我似乎无法做到这一点。
非常感谢您的帮助。
解决方法
不要使用正则表达式来解析格式良好的JSON。使用内置的json.loads
函数将JSON字符串解析为内存中列表数据结构。然后,您可以使用L[1]
访问列表中的第一个元素,并使用"price"
访问该字典中的L[1]["price"]
键:
>>> s = '[true,{"name":"NameofItem","amount":"1","price":100,"sellerName":"Sellername1","sellerId":1},{"name":"NameofItem2","price":101,"sellerName":"Sellername2","sellerId":2},22250]'
>>> import json
>>> L = json.loads(s)
>>> L
[True,{'name': 'NameofItem','amount': '1','price': 100,'sellerName': 'Sellername1','sellerId': 1},{'name': 'NameofItem2','price': 101,'sellerName': 'Sellername2','sellerId': 2},22250]
>>> L[1]["price"]
100
>>> type(L[1]["price"])
<class 'int'>
,
words[1][maxWord]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。