.Net正则表达式删除捕获json字符串值的所有文本



我正试图在.Net应用程序中使用一个正则表达式,该表达式将删除除我在正则表达式中指定的键的值之外的所有字符

这是文本字符串:

{"fontFamily":"Arial","fontSize":9.000000E+000,"fontStretch":null,"fontStyle":null,"fontWeight":null,"textDecoration":null,"fontColor":"#FF000000","textAlignment":"TopLeft","textAutoSize":false,"textSizeBehavior":"Fixed"}

理想情况下,当我指定需要将哪个键存储到单独的变量中时,我希望有一些可以用来捕获所有这些值的东西。

例如,我想使用正则表达式来匹配fontFamily的值。返回的字符串将只是Arial

下面是一个如何在C#中执行此操作的示例

string target =
@"
{""fontFamily"":""Arial"",""fontSize"":9.000000E+000,""fontStretch"":null,""fontStyle"":null,""fontWeight"":null,""textDecoration"":null,""fontColor"":""#FF000000"",""textAlignment"":""TopLeft"",""textAutoSize"":false,""textSizeBehavior"":""Fixed""}
";
string myinput = "fontFamily";
Console.WriteLine("Searching: {0}", myinput);
Regex rx = new Regex( """ + myinput + "":"?([^,{}"]*)" );
Match m = rx.Match( target );
while ( m.Success )
{
Console.WriteLine("Found: {0}", m.Groups[1].Value);
m = m.NextMatch();
}

输出

Searching: fontFamily
Found: Arial

最新更新