2022-01-27T06:29:48.536 [default INFO] Config from stellar-core.cfg
2022-01-27T06:29:48.539 [default INFO] Using QUORUM_SET: {
"t" : 2,
"v" : [ "testnet1", "testnet2", "testnet3" ]
}
Content-Length: 1237
Content-Type: application/json
2022-01-27T06:29:48.539 GA3GX [default INFO] {
"info" : {
"build" : "stellar-core 15.2.0 (54b03f755ae5d5aa12a799c8f1ee4d87fc9d1a1d)",
"history_failure_rate" : "0.4",
"ledger" : {
"age" : 6,
"baseFee" : 100000,
"baseReserve" : 100000000,
"closeTime" : 1643264982,
"hash" : "760093679024353579495a6281ee185ea76d73307472825efe32add0ab512842",
"maxTxSetSize" : 1000,
"num" : 5772745,
"version" : 15
},
"network" : "Pi Testnet",
"peers" : {
"authenticated_count" : 12,
"pending_count" : 27
},
"protocol_version" : 15,
"quorum" : {
"node" : "GA3GX",
"qset" : {
"agree" : 3,
"cost" : 36232,
"delayed" : 0,
"disagree" : 0,
"fail_at" : 2,
"hash" : "c51e25",
"lag_ms" : 154,
"ledger" : 5772744,
"missing" : 0,
"phase" : "EXTERNALIZE"
},
"transitive" : {
"critical" : null,
"intersection" : true,
"last_check_ledger" : 5748296,
"node_count" : 4
}
},
"startedOn" : "2022-01-25T15:59:15Z",
"state" : "Synced!"
}
}
求C#下怎么用正则表达式提取上面响应文本中以下两段json文本:
【1】、
{
"t" : 2,
"v" : [ "testnet1", "testnet2", "testnet3" ]
}
【2】、
{
"info" : {
"build" : "stellar-core 15.2.0 (54b03f755ae5d5aa12a799c8f1ee4d87fc9d1a1d)",
"history_failure_rate" : "0.4",
"ledger" : {
"age" : 6,
"baseFee" : 100000,
"baseReserve" : 100000000,
"closeTime" : 1643264982,
"hash" : "760093679024353579495a6281ee185ea76d73307472825efe32add0ab512842",
"maxTxSetSize" : 1000,
"num" : 5772745,
"version" : 15
},
"network" : "Pi Testnet",
"peers" : {
"authenticated_count" : 12,
"pending_count" : 27
},
"protocol_version" : 15,
"quorum" : {
"node" : "GA3GX",
"qset" : {
"agree" : 3,
"cost" : 36232,
"delayed" : 0,
"disagree" : 0,
"fail_at" : 2,
"hash" : "c51e25",
"lag_ms" : 154,
"ledger" : 5772744,
"missing" : 0,
"phase" : "EXTERNALIZE"
},
"transitive" : {
"critical" : null,
"intersection" : true,
"last_check_ledger" : 5748296,
"node_count" : 4
}
},
"startedOn" : "2022-01-25T15:59:15Z",
"state" : "Synced!"
}
}
代码如下
using System;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
string s = File.ReadAllText("d.txt", Encoding.UTF8);
MatchCollection mc = Regex.Matches(s, @"{[\s\S]+?(?=(Content-|\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3})|$)");
foreach (Match m in mc) Console.WriteLine(m.Value+"\n\n");
Console.ReadKey();
}
}
}