我在 C# 中有一堆 Json 样式字符串,我正在尝试获取实际在 CS 文件中的原始字符串并将其转换为 string.format 以帮助参数化 Web 请求。
到目前为止,我还没有想出可行的方法。
我需要一个匹配这两个字符串的正则表达式:
"{\"effectiveTimestamp\":null
\"foo\":1029231}");
我的正则表达式如下所示
\s*\"?{?(.*?):(.*)(?:}\"\);)?
对于最后 2 个捕获组,我尝试了不同的贪婪和非贪婪变体。
\s*\"?{?(.*?):(.*)(?:}\"\);)*
\s*\"?{?(.*?):(.*)(?:}\"\);)*?
\s*\"?{?(.*?):(.*?)(?:}\"\);)*
\s*\"?{?(.*?):(.*?)(?:}\"\);)*?
以及尝试匹配 0 或 1 次
\s*\"?{?(.*?):(.*)(?:}\"\);)?
但无论我做什么,它都无法抓住第一串或第二串中的第二组。在这两种情况下,我都无法正确抓住第二组。
从马特那里得到答案:
这捕获了我需要的东西。
([\w\\"]*):([\w\\"]+)