我有很長的資訊串,其中有“狀態”:“我”,
我想獲得“狀態”的值,我不需要狀態這個詞,所以我試圖告訴我的正則運算式照顧“狀態”:這將/應該是“我”..
我也想在沒有 " 的情況下獲得我的價值,但我正在努力弄清楚如何在 : ...
"(""Status"" "":"")[a-zA-Z]"
"(?<=""Status"":"")^[a-zA-Z]"
"(?<=""Status"":)^[a-zA-Z]"
"(?<=""Status"":""""")^[a-zA-Z]"
我嘗試了一些變體..但我很掙扎..
我還在 Status 之前和之后使用了兩次,因為我使用的是 .net 框架,但它不喜歡我..
我會很高興結果是 I 或“我”,但更喜歡我,有什么建議嗎?
例子
string invoiceId = Regex.Match(invoiceResult, @"(?<=""IssuedInvoiceId"":)\d{7}").ToString();
string status = Regex.Match(invoiceResult, @"(?<=""Status"":""""")^[a-zA-Z]").ToString();
enter code here
invoiceId 有效,這給了我正確的數字.. 我只需要幫助找出狀態匹配事物的值..
非常感謝,
uj5u.com熱心網友回復:
試試這個正則運算式
(?<="Status":").(?=")
它"在"Status":字串之后的引號 ( )之間找到 1 個字符。如果Status屬性的值可以超過 1 個字符,則 在點 ( .)后添加加號 ( )
(?<="Status":"). (?=")
如果您想限制符號匹配,您可以將點 ( .)更改為適用的符號。例如:
(?<="Status":")\w(?=")
或者
(?<="Status":")[A-Z](?=")
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);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/377502.html
