无法组合表达式以从可能存在或不存在的json条目中删除“”

时间:2019-05-05 13:37:42

标签: regex

我正在尝试格式化一些Json,以使我想要隔离的字符串/数字可能在其周围包含或不包含双引号。

例如

Entry1

{"Product_ID":455233, "Product_Name":"Entry One"}

Entry2

{"Product_ID":"455233-5", "Product_Name":"Entry One"}

我一直在尝试创建单个正则表达式模式以提取Product_ID,无论它是否带有引号。

我可以使用(?<=Product_ID":")(.*?)(?=")(?<=Product_ID":)(.*?)(?=,)环顾四周,成功地提取具有不同模式的两个结果

但是,由于我不知道我会提前需要哪一种,我希望一种尺寸适合所有人。 我尝试在模式中使用[^"],但是我无法缝在一起将其拼凑在一起

我预计会收到455233-5和455233,但目前我会收到“ 455233-5”

1 个答案:

答案 0 :(得分:0)

(?<="Product_ID"\s*:\s*"?)[^"]+(?="?\s*,) ,请尝试here