Невозможно собрать выражение для удаления "" из записи json, где "" может присутствовать или не присутствовать - PullRequest
0 голосов
/ 05 мая 2019

Я пытаюсь отформатировать 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 голосов
/ 05 мая 2019

(?<="Product_ID"\s*:\s*"?)[^"]+(?="?\s*,) попробуйте здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...