using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?s:(""name"" : ""(.*?)"".*?作者[:]*</span>[:]*.*?>(.*?)<.*?出版社.*?> (.*?)<.*?>出版年.*?([\d]{4}-[\d]).*?定价:</span> (.*?)<.*?ISBN:</span> (.*?)<.*?v:average""> ([\d].[\d]).*?v:votes"">([\d]+?)<.*?""rating_per"">(.*?)<.*?""rating_per"">(.*?)<.*?""rating_per"">(.*?)<.*?""rating_per"">(.*?)<.*?""rating_per"">(.*?)<))";
string input = @"
<script type=""application/ld+json"">
{
""@context"":""http://schema.org"",
""@type"":""Book"",
""workExample"": [],
""name"" : ""索拉里斯星"",
<span class=""pl""> 作者</span>:
<a class="" href=""/search/%E6%96%AF%E5%9D%A6%E5%B0%BC%E6%96%AF%E7%93%A6%E5%A4%AB%C2%B7%E8%8E%B1%E5%A7%86"">[波] 斯坦尼斯瓦夫·莱姆</a>
</span><br/>
<span class=""pl"">出版社:</span> 译林出版社<br/>
<span class=""pl"">原作名:</span> Solaris<br/>
<span>
<span class=""pl""> 译者</span>:
<a class="" href=""/search/%E9%9D%96%E6%8C%AF%E5%BF%A0"">靖振忠</a>
</span><br/>
<span class=""pl"">出版年:</span> 2021-8<br/>
<span class=""pl"">页数:</span> 254<br/>
<span class=""pl"">定价:</span> 49.00元<br/>
<span class=""pl"">装帧:</span> 平装<br/>
<span class=""pl"">丛书:</span> <a href=""https://book.douban.com/series/54333"">译林幻系列</a><br>
<span class=""pl"">ISBN:</span> 9787544782173<br/>
</div>
</div>
<div id=""interest_sectl"" class="">
<div class=""rating_wrap clearbox"" rel=""v:rating"">
<div class=""rating_logo"">豆瓣评分</div>
<div class=""rating_self clearfix"" typeof=""v:Rating"">
<strong class=""ll rating_num "" property=""v:average""> 8.7 </strong>
<span property=""v:best"" content=""10.0""></span>
<div class=""rating_right "">
<div class=""ll bigstar45""></div>
<div class=""rating_sum"">
<span class="">
<a href=""comments"" class=""rating_people""><span property=""v:votes"">8085</span>人评价</a>
</span>
</div>
</div>
</div>
<span class=""stars5 starstop"" title=""力荐"">
5星
</span>
<div class=""power"" style=""width:64px""></div>
<span class=""rating_per"">46.0%</span>
<br>
<span class=""stars4 starstop"" title=""推荐"">
4星
</span>
<div class=""power"" style=""width:54px""></div>
<span class=""rating_per"">39.4%</span>
<br>
<span class=""stars3 starstop"" title=""还行"">
3星
</span>
<div class=""power"" style=""width:17px""></div>
<span class=""rating_per"">12.5%</span>
<br>
<span class=""stars2 starstop"" title=""较差"">
2星
</span>
<div class=""power"" style=""width:2px""></div>
<span class=""rating_per"">1.8%</span>
<br>
<span class=""stars1 starstop"" title=""很差"">
1星
</span>
<div class=""power"" style=""width:0px""></div>
<span class=""rating_per"">0.3%</span>
";
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx