正则表达式C#,HTML解析

正则表达式C#,HTML解析,c#,.net,regex,C#,.net,Regex,请帮忙 我有一个来自html的文本,我需要解析它。 正文: 换算率= 3:{“3”3:{“3”3:{“3”3:{“3”3:{“3”3:{“3”3:{“3”3:{“3”3:{“3”3:{“3”3::{“美元”3:{“购买”:27.95950001,买:27.95买买:27.95950001,出售:28.190001.190001,卖:28.190001,卖:28.190001,,,”欧元,欧元“““““““““““““““““““““““““::::,,,,,,,,,,,,,,””””::::::

请帮忙

我有一个来自html的文本,我需要解析它。 正文:

换算率= 3:{“3”3:{“3”3:{“3”3:{“3”3:{“3”3:{“3”3:{“3”3:{“3”3:{“3”3:{“3”3::{“美元”3:{“购买”:27.95950001,买:27.95买买:27.95950001,出售:28.190001.190001,卖:28.190001,卖:28.190001,,,”欧元,欧元“““““““““““““““““““““““““::::,,,,,,,,,,,,,,””””:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,““““““““““““““““““““““““卖出:0.443},“美元”:{“买入”:28.0,卖:卖:28.25。卖:卖:卖:28.25。卖:28.25。卖:28.25。卖:卖:28.25。卖:卖:28.25。卖:28.25。卖:卖:28.25,卖:28.25,卖:28.25,欧元,欧元:::{“买”:买:31.8899999999,卖:31.8899999,卖:31.8899999999,卖:32.5401999,卖卖:32.5401999,卖卖:32.54,卖卖:32.54。卖,卖:32。卖卖卖:32。卖卖:32.54。卖:32.54。卖卖:32。卖卖:32。卖:32。卖:32。卖:32。卖:32。卖卖:32。卖:32。卖:32。卖:32。卖:32。卖:32。卖:32。卖:32。卖:32。卖:32。卖:32。卖:32。卖,卖卖美元:{“买入”:27.950001,“卖出”:28.25}“77:::”除了除了除了除了除了“买买”:0.38,“卖”:0.38,”卖卖:0.43,美元,美元:{“买买买”:28.0499999,销售:28.0499999,销售:28.0499999,卖卖卖:32.0。32.3.0,卖:32.5,卖:32.5.5},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,{“买入”:28.030001,“卖出”:28.190001}购买:0.39,”卖:0.39,”卖:0.42,”卖:0.42},“美元,”美元““““““:,,,”卖卖:0.42,”美元“““““““““:,,”买:28.0,”卖:28.0,”卖:28.25.25},”欧元““““““:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:32.32.卖:32.卖:32.卖:32.4500:32.4500:32.450000,卖:32.4500:32.450000,出售:32.450000,卖:32.450000,卖:32.450000 00,卖:32.450000,卖:32.450000 00 00 00,卖:32.450000 00,32.4500周一周一周一周一周一周一,32.450001}}}}}}}}}{“买入”:27.950001,“卖出”:28.25},“欧元”:{”买:买:0.414,“卖:0.435,”卖:0.435,”卖:0.435,”美元,”美元::{“买:买:28.0,卖:28.0,卖:28.0,卖:28.0,卖:28.2000001,卖:28.2000001,卖:28.2000001,卖卖:28.2000001,卖卖:28.2000001,卖卖卖:28.2000001,欧元,卖卖卖:28.2000001,欧元,卖卖卖:28.2000001,欧元,卖卖卖卖:28.2000001,欧元,欧元,卖卖卖卖卖卖:28.2000001,欧元,欧元,卖卖卖卖:28.2000001,欧元,卖卖卖卖卖卖卖卖卖卖卖:28.67,卖卖卖卖卖卖卖卖:31.31.67,31.67,32.67,32.67,32.67,32.67,32.67,卖卖卖卖卖卖卖卖卖卖卖1.985001,“卖出”:28.2075},“欧元”:{“买入”32.32.036366,32.036366,“销售”:32.036366,销售:32.036366,“销售”:32.036366,“销售”:32.036366,销售:32.036366,销售:32.036366,销售:32.525252909091},,31:::::,,,,,,::::::::::::除了除了除了除了除了“买”买:0.卖::::::::::::::::::::::::::::::::::::::,,,,,,,,,卖卖::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::150002,“出售”:32.549999},“40”:{“买买:27.95买买买:27.950001,”卖卖:28.1391999年9.1391999年9月,”欧元,”欧元““卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖:28.1391999年9,”欧元““卖卖卖卖卖:28.139999.1999年9,”欧元“卖卖卖卖卖卖卖卖卖卖:27.9,卖卖卖:28.2000001.2000001,卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖,卖卖卖卖,卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖卖“sell”:32.549999},“74”:{“RUB”购买:28.0499,销售:28.2000001,卖卖卖:28.2000001,卖卖卖,卖卖卖,卖卖卖。28.25,卖卖,欧元,欧元,欧元,欧元::{“买买买:31.7999999,买买买:31.7999999999,销售:31.7999999,销售:32.7999999,卖卖卖卖,卖卖,欧元,欧元::{{“购买:购买:32.09.099999999999999 9 9 9 9 9.9,出售,”卖卖卖:32.52。32.52},卖卖。52。52},32.52},32.52。。。。。。}},32.52}},52},52},52},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9999},“88”:{“摩擦”:{“购买”:0.35,“卖出”:0.5},“美元”:{“买入”:28.0,“卖出”:28.15},“欧元”:{“买入”:32.099998,“卖出”:32.450001},“90”:{“卢布”:{“买入”:4.0,“卖出”:4.4},“美元”:{“买入”:28.0,“卖出”:28.15},“欧元”:{“买入”:31.950001,“卖出”:32.450001}

我需要它的下一个信息:

银行代码-“3” 美元汇率-27.950001,28.190001

我的表情是:

@(\d+):..USD..\w+..(\d+。\d+)...(\d+。\d+)


但它不起作用,因为美元并不总是排在银行代码之后。这是一个JSON文档。JSON是一种递归格式,正则表达式在解析递归数据时很难使用

请使用指定的解析器,如:

然后你可以像使用字典一样使用它:

foreach(var codeEntry in json)
{
    foreach(var currencyEntry in codeEntry.Value)
    {
        var code = codeEntry.Key;
        var currency = currencyEntry.Key;
        var buy = currencyEntry.Value["buy"].Value<double>();
        var sell = currencyEntry.Value["buy"].Value<double>();
        Console.WriteLine($"code of bank - {code} and {currency} rate - {buy}, {sell} ");
    }
}
foreach(json中的var codeEntry)
{
foreach(codeEntry.Value中的var currencyEntry)
{
var code=codeEntry.Key;
var currency=currencyEntry.Key;
var buy=currencyEntry.Value[“buy”].Value();
var sell=currencyEntry.Value[“购买”].Value();
Console.WriteLine($“银行代码{code}和{currency}汇率{buy},{sell}”);
}
}

如果仍要使用正则表达式,可以这样做:

@"""(?<code>\d+)"":\{.*?(?<=""USD""):\{""buy"":(?<buy>\d+\.\d+),""sell"":(?<sell>\d+.\d+)\}"

它查找字符串结尾的3'}。

这不是HTML(甚至不接近),这是一个JSON对象…将
=
后面的所有内容粘贴到此页面:看看我在说什么,JSON格式很差。哈哈。这是外汇汇率。我明白了。你能告诉我如何从这里解析信息吗?你的表达式不是有效的@-quouted字符串。原始字符串是html文档,我如何只得到“converter.rates={…}”?
@"""(?<code>\d+)"":\{.*?(?<=""USD""):\{""buy"":(?<buy>\d+\.\d+),""sell"":(?<sell>\d+.\d+)\}"
@"converter.rates\s?=.*\}\}\}"