regex - 从 JSON 中提取整数或字符串的正则表达式
问题描述
我在没有 JSON 解析器的环境中工作,所以我使用正则表达式来解析一些 JSON。我要隔离的值可能是字符串或整数。
例如
条目1
{"Product_ID":455233, "Product_Name":"Entry One"}
条目2
{"Product_ID":"455233-5", "Product_Name":"Entry One"}
我一直在尝试创建一个单一的正则表达式模式来提取 Product_ID,无论它是字符串还是整数。
我可以使用环视(?<=Product_ID":")(.*?)(?=")
或使用单独的模式成功提取两个结果(?<=Product_ID":)(.*?)(?=,)
但是,由于我不知道我需要提前哪一个,所以我想要一个适合所有人的尺寸。我曾尝试[^"]
在该模式中使用,但我似乎无法将它拼凑起来
我希望收到 455233-5 和 455233 但目前我收到“455233-5”
解决方案
(?<="Product_ID"\s*:\s*"?)[^"]+(?="?\s*,)
,在这里
试试。
推荐阅读
- python - tcsetattr(TCSAFLUSH) 未按预期运行
- informix - 如何在当前会话中获得隔离级别?
- vb.net - 变量“GetTransNo”在被赋值之前被使用。运行时可能会导致空引用异常”
- json - 临时存储大量 JSON 文件的最佳方法?
- django - Django Form 进行计算
- c++ - 多定义链接 c++ 项目构建与 cmake
- c# - 项目 SDK 为 Microsoft.NET.Sdk.Web 时无法添加纯 C# 文件
- sass - 将多个 Dart SCSS 文件合并为一个
- javascript - Javascript Websockets在页面卸载时断开连接
- javascript - Javascript函数被截断?