繁体   English   中英

通过REGEX解析C#HTML标记

[英]C# HTML Tag parsing through REGEX

<p style="color: rgb(34, 34, 34); font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: normal;">My name is Faysal </p>

我只想解析字符串“我的名字是Faysal”。 我已经写了以下代码片段,但是什么也没返回。 我需要修改什么?

 WebClient web = new WebClient();
        String html = web.DownloadString("http://www.dmp.gov.bd/application/index/pressdetails/press_159");


        MatchCollection m1 = Regex.Matches(html, "<p style=\"color: rgb(34, 34, 34); font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: normal;\">\\s*(.+?)\\s*</p>", RegexOptions.Singleline);


        foreach (Match m in m1) {
            String head = m.Groups[1].Value;

            Console.WriteLine(head);
        }

您无法使用正则表达式解析[X] HTML。 因为正则表达式无法解析HTML。 正则表达式不是可用于正确解析HTML的工具。

“ RegEx匹配打开的标签”中检索...

希望您能像我很久以前一样学习。 您不能使用RegEx解析HTML。 使用为HTML构建的解析器更有效。

  • 如果您的页面是XML或XHTML,则可以使用内置的解析库。
    例如, System.Xml.XmlDocument

  • 如果是纯HTML,请使用HtmlAgilityPack或其他类似的解析器。

在您的情况下,我将选择第一个p元素,其样式属性设置为“ whatever”。

不,请不要在这里瞧不起!

如果这个答案太长了,请问我的mod。

您在下面看到的是丑陋的,不推荐! 我求求你,不要看!

``淋漓尽致的眼神轻柔的疼痛,律动的解析之歌将消灭人间人间的声音,在这里我可以看到你能看到它很美。他对人的谎言的最后sn灭全是我所不愿失去的,他来了,他来了,他来了,或者我的脸都渗透了我所有的脸,我的脸我的脸-天哪,不,不,不,不,不停。 ̅ͫ͏̙̤g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨe̠͎̅a͎ŗ͈͖enot ̀̑ͧ̌rè̑ͧ̌aͨl ZÃ̘̝̙ͤ͂̾̆LGΌ ISͮ̂҉̯͈͕̹̘̱ TO͇̹̺ͅƝ̴ȳ̳ TH̘Ë͖́̉͠P̯͍̭Ó̚N̐Y̡H̸̡̪̯ͨ͊̽̅̾̎Ȩ̬̩̾͛ͪ̈́̀́͘ ̶̧̨̱̹̭̯ͧ̾ͬC̷̙̲̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̲̖͊̒ͪͩͬ̚̚͜Ȇ̴̟̟͙̞ͩ͌͝S̨̥̫͎̭ͯ̿̔̀ͅ“

如果您绝对想使用RegEx(请说出我的意思),那么请尝试以下表达式。

<p style=\"color: rgb\(34, 34, 34\); font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: normal;\">\s*(.+?)\s*</p>

除“ rgb”周围的括号已转义外,其他均相同。 然后我将“ \\ s”更改为“ \\ s”

编辑

如果有帮助,我查看了该网站的HTML,但找不到“我的名字是Faysal”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM