我有一长串的信息,其中有“状态”:“我”,
我想得到“Status”的值,我不需要Status这个词,所以我试着告诉我的正则表达式要注意“Status”:哪个应该是“I”。。
我也想得到我没有的价值”,但我正在努力弄清楚如何在以下情况下引用引号:...
"(""Status"" "":"")[a-zA-Z]"
"(?<=""Status"":"")^[a-zA-Z]"
"(?<=""Status"":)^[a-zA-Z]"
"(?<=""Status"":""""")^[a-zA-Z]"
我试过几种变体。。但是我正在努力。。
我也使用"前后两次状态,因为我使用. net框架,它不喜欢我...
我很高兴结果是我或“我”,但更喜欢我,有什么建议吗?
示例
string invoiceId = Regex.Match(invoiceResult, @"(?<=""IssuedInvoiceId"":)\d{7}").ToString();
string status = Regex.Match(invoiceResult, @"(?<=""Status"":""""")^[a-zA-Z]").ToString();
enter code here
发票有效,这给了我正确的号码...我只是需要帮助来弄清楚状态匹配的价值...
非常感谢,
试试这个正则表达式
<代码>(?
它在"State":
字符串之后的引号("
)之间找到1个字符。如果状态
属性的值可以超过1个字符,则在点()后加上(
)符号。
<代码>(?
如果您想限制符号匹配,您可以将点(.
)更改为适用的符号。例如:
<代码>(?
或
<代码>(?
C#中的代码
string input = "some text before \"Status\":\"I\", some text after";
string pattern = "(?<=\"Status\":\")[A-Z](?=\")";
Match match = Regex.Match(input, pattern);
if (match.Success)
Console.WriteLine(match.Value);