首页 > 编程语言 >C# Regex 获取<table></table>的html

C# Regex 获取<table></table>的html

时间:2023-08-18 18:14:55浏览次数:29  
标签:Regex C# rowHtml tdText item html XXXXXX var

        [Fact]
        public void Regex_Test()
        {
            var rowHtml = @"<div class=\""container\"">
    <div class=\""title dottedline\"">XXXXXX股份有限公司-受益所有人查询结果</div>
</div>
<div class=\""container\"">
    <table class=\""gridtable\"">
        <tr>
            <th>序号</th>
            <th>名称</th>
            <th>注册币种</th>
            <th>成立日期</th>
            <th>注册资本</th>
            <th>统一社会信用代码</th>
            <th>持股占比</th>
            <th>投资类型描述</th>
            <th>是否上市</th>
            <th>是否是受益人</th>
            <th>受益人类型</th>
            <th>职务</th>
        <tr>
        <tr>
            <td>1</td>
            <td>XXXXXX股份有限公司</td>
            <td>人民币元</td>
            <td>1985-11-22</td>
            <td>35640625.708900</td>
            <td>91100000100003962T</td>
            <td></td>
            <td></td>
            <td>是</td>
            <td>否</td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td>2</td>
            <td>铎梦之</td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td>是</td>
            <td>关键管理人员</td>
            <td>董事</td>
        </tr>
    </table>
</div>";
            if (!string.IsNullOrEmpty(rowHtml))
            {
                var regex = new Regex(@"<table.*?>[\s\S]*?<\/table>");
                var mc = regex.Matches(rowHtml);
                if (mc.Count > 0)
                {
                    foreach (var item in mc)
                    {
                        var tableHtml = item;
                        /*
                            <table class=\"gridtable\">
                                <tr>
                                    <th>序号</th>
                                    <th>名称</th>
                                    <th>注册币种</th>
                                    <th>成立日期</th>
                                    <th>注册资本</th>
                                    <th>统一社会信用代码</th>
                                    <th>持股占比</th>
                                    <th>投资类型描述</th>
                                    <th>是否上市</th>
                                    <th>是否是受益人</th>
                                    <th>受益人类型</th>
                                    <th>职务</th>
                                <tr>
                                <tr>
                                    <td>1</td>
                                    <td>XXXXXX股份有限公司</td>
                                    <td>人民币元</td>
                                    <td>1985-11-22</td>
                                    <td>35640625.708900</td>
                                    <td>91100000100003962T</td>
                                    <td></td>
                                    <td></td>
                                    <td>是</td>
                                    <td>否</td>
                                    <td></td>
                                    <td></td>
                                </tr>
                                <tr>
                                    <td>2</td>
                                    <td>铎梦之</td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                    <td>是</td>
                                    <td>关键管理人员</td>
                                    <td>董事</td>
                                </tr>
                            </table>
                        */
                    }
                }

                Regex regTD = new Regex(@"(?<=<td>)(.*?)(?=</td>)", RegexOptions.IgnoreCase);//[^(<td>))] 
                var mc2 = regTD.Matches(rowHtml);
                if (mc2.Count > 0)
                {
                    var tdText = string.Empty;
                    foreach (var item in mc2)
                    {
                        tdText += $"{item},";
                    }
                    tdText = tdText.TrimEnd(new char[] { ',' });
                    /*
                     * 1,XXXXXX股份有限公司,人民币元,1985-11-22,35640625.708900,91100000100003962T,,,是,否,,,2,铎梦之,,,,,,,,是,关键管理人员,董事
                    */
                }

            }

        }

 

标签:Regex,C#,rowHtml,tdText,item,html,XXXXXX,var
From: https://www.cnblogs.com/hofmann/p/17641217.html

相关文章

  • iwebsec-sql注入 01 数字型注入
    01、题目分析数字型注入的sql语句select * from news where id=$id;最最最常规的,直接注入02、手工注入:先判断有多少列http://www.bdrwmy.cn:8001/sqli/01.php?id=1orderby3--id=-1就是不显示内容http://www.bdrwmy.cn:8001/sqli/01.php?id=-1unionselect1,2,......
  • burpsuite靶场----SQL注入13----oracle的CAST报错注入
    burpsuite靶场----SQL注入13----oracle的CAST报错注入靶场地址https://portswigger.net/web-security/sql-injection/blind/lab-sql-injection-visible-error-based正式开始1.通过在TrackingId=JBhlRizkqfo87Hq8后面添加'和''(两个单引号)猜测是oracle数据库添加'报错,添加''......
  • 腾讯云 CODING 荣获 TiD 质量竞争力大会 2023 软件研发优秀案例
    点击链接了解详情8月13-16日,由中关村智联软件服务业质量创新联盟主办的第十届TiD2023质量竞争力大会在北京国家会议中心召开。本次大会以“聚焦数字化转型探索智能软件研发”为主题,聚焦智能化测试工程、数据要素、元宇宙、数字化转型、产融合作、未来产业等前沿热点主题......
  • burpsuite靶场----SQL注入14----oracle的时间盲注test
    burpsuite靶场----SQL注入14----oracle的时间盲注test靶场地址https://portswigger.net/web-security/sql-injection/blind/lab-time-delays正式开始1.进入标签2.抓包3.在TrackingId=BU622TbcJXbso7Wwh后面填上'||pg_sleep(10)--完成任务......
  • OpenCloudOS WOW 活动上线啦!千份社区好礼等你来拿!
    由OpenCloudOS社区联合腾源会开源摘星计划2023推出的 OpenCloudOSWow 贡献征文活动,正式开启啦!「OpenCloudOSWow」有海量的挑战任务、丰厚的成长激励、社区助教指导以及实践案例,帮助大家了解和参与OpenCloudOS社区,并在社区中学习和成长。同时让更多企业和社区伙伴获取O......
  • find -exec 命令后面的\;和+
    一个-exec只能执行一个命令,而且必须在命令后面加上终结符,终结符有两个:“;”和“+”。其中“;”会对每一个find到的文件去执行一次cmd命令。而”+“让find到的文件一次性执行完cmd命令。为什么必须有终结符?因为一个find后面可以有多个-execcmd,所以必须要有终结符分割他们。如果不......
  • [AT_ABC106_B]题解(C++)
    PartIPreface原题目\(\text{(Luogu)}\)原题目\(\text{(AtCoder)}\)PartIISketch给定一个正整数\(N\)。求出\(1\simN\)所有因数个数为\(8\)的数的个数。PartIIIAnalysis先输入\(N\)。遍历\(1\simN\)的每个数,记录每个数的因数个数。若因数个数等于\(8\)......
  • 星火大模型 VS FuncGPT(慧函数), 谁更胜一筹?
    哈喽,本文即通过相近的试题,看下最近爆火的科大讯飞星火大模型和FuncGPT(慧函数)的编码能力有何区别,给大家直观地对比。开发过程中经常会遇到读取文件内容的情况,需要【判断文件路径是目录还是文件】,及文件编码格式,防止无法读取内容或乱码出现情况。星火大模型生成代码示例如下:impor......
  • AOP源码解析:AspectJExpressionPointcutAdvisor类
    先看看AspectJExpressionPointcutAdvisor的类图再了解一下切点(Pointcut)表达式,它指定触发advice的方法,可以精确到返回参数,参数类型,方法名1packageconcert;23publicinterfacePerformance{4voidperform();5}AspectJExpressionPointcutAdvisor源码,官......
  • CFD特性FPmarkets澳福认为了解这11种足够
    CFD在交易中很重要,但CFD特性很多投资者不了解,FPmarkets澳福认为了解这11种足够了:投资者通过标的资产价格价值的变化获利,而不拥有标的资产。差价合约交易没有固定的到期日。与期货交易类似,差价合约交易也提供杠杆使用机会。差价合约被视为场外交易产品,不能在美国进行交易。灵活性:差......