【发布时间】:2021-12-28 22:40:21
【问题描述】:
我正在寻找一种方法来抓取/捕获 {"$oid": 旁边的第二次出现的数字(仅数字):
我能够捕捉到第一个但无法捕捉到第二/第三次出现。
这是我使用的正则表达式: https://regex101.com/r/6cSXi8/1
"(?<="\$oid": ").*?[^"},]*"
输入示例:
[{"_id": {"$oid": "5f9ecf8ca9bec5549493ba7d"}, "policy_name": "aaa", "is_mobile": false,, {"_id": {"$oid": "6090fead53bc363849fce989"}, "policy_name": "bbb", "is_mobile": true, {"_id": {"$oid": "619cf729ea016d1e3336e903"}, "policy_name": "ccc", "is_mobile": false}]
此外,我还试图弄清楚如何匹配 "is_mobile" : true 到第二次出现的数字。表示将通过搜索“is_mobile”返回第二个数字(在 {"$oid":) 旁边的正则表达式:true
我正在使用 Java 发送正则表达式
非常感谢您的帮助。
【问题讨论】:
-
使用正则表达式解析 JSON 最终会失败。你真的应该使用合适的 JSON 解析器。