Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 试图得到一个完整的<;部门>;在c中使用正则表达式#_C#_Html_Regex - Fatal编程技术网

C# 试图得到一个完整的<;部门>;在c中使用正则表达式#

C# 试图得到一个完整的<;部门>;在c中使用正则表达式#,c#,html,regex,C#,Html,Regex,我试图在c#中删除整个div元素 我尝试了div class=“txt block”\s*(.+?)(\r\n?|\n)\s*“,但它并没有将其全部删除:( 有什么想法吗? 这是div…,谢谢 <div class="txt-block" itemprop="creator" itemscope itemtype="http://schema.org/Person"> <h4 class="inline">Writers:</h4>

我试图在c#中删除整个div元素

我尝试了
div class=“txt block”\s*(.+?)(\r\n?|\n)\s*“
,但它并没有将其全部删除:( 有什么想法吗? 这是div…,谢谢

    <div class="txt-block" itemprop="creator" itemscope itemtype="http://schema.org/Person"> 
    <h4 class="inline">Writers:</h4>
    <a href="/name/nm1318843/?ref_=tt_ov_wr" itemprop='url'><span class="itemprop"    itemprop="name">Mark Fergus</span></a>               (screenplay), 
    <a href="/name/nm1319757/?ref_=tt_ov_wr" itemprop='url'><span class="itemprop"         
    itemprop="name">Hawk Ostby</span></a>               (screenplay), <a href="fullcredits?ref_=tt_ov_wr#writers" >6 more credits</a>&nbsp;&raquo;
</div> 

作者:
(编剧),
(电影剧本),”;

用正则表达式解析HTML不是一个好主意。请尝试在c#中查找用于解析HTML的库


经过一段时间后,我想到了这个库:这个库似乎具备了您所需要的所有功能。

用正则表达式解析HTML不是一个好主意。试着在c#中找到一个用于解析HTML的库


经过一段时间后,我想到了这个库:这个库似乎具备了你所需要的所有功能。

为什么会有这么多反对票?因为你不会用正则表达式解析HTML,他是不被允许的?这是非常狭隘的

我已经看到有很大一部分时间,htmlagilitypack无法正确解析格式严重错误的html文档,或者无法从海量捕获中解析串联或嵌套的html文档。或者任何形式的XPath都无法工作,因为html文档是动态创建的,不一致,并且不一定包含标识属性。当一个非常简单的正则表达式可以更可靠时,为什么还要导入额外的include并处理松散的标记呢

如果您有一个大型项目,其中项目中的一个方法只需要提取输入HTML文档的一个DIV的内容,该怎么办?它不是一个完整的HTML解析项目,只需要一个正则表达式。您的答案是包含更多导入并为此构建一个全新的框架?我每年做数百个项目。一半使用M/XPath,而另一半则不能,并且需要正则表达式

简言之,不要这么狭隘。参考XPath/DOM工具,但有助于回答一个问题。不要只是否决投票。我们不是尼安德特人,他们不需要一直嘲笑很久以前的一篇古老的“不要用正则表达式解析HTML”帖子

答案如下:

首先,单纯形:

(?s)<div.*?>(.*?)</div>
(?s)(*?)
需要一个特别命名的div吗

(?s)<div[^>]*?class="txt-block"[^>]*?>(.*?)</div>
(?s)]*?class=“txt块”[^>]*?>(*?)
想节省CPU并避免不必要的回溯吗

<div[^>]*?class="txt-block"[^>]*?>(([^<]*(?(?!</div>)<))*)</div>

]*?class=“txt block”[^>]*?>(([^为什么会有这么多反对票?因为你不会用正则表达式解析HTML,他是不被允许的?这是非常狭隘的

我已经看到有很大一部分时间,htmlagilitypack无法正确解析格式严重错误的html文档,或者无法从海量捕获中解析串联或嵌套的html文档。或者任何形式的XPath都无法工作,因为html文档是动态创建的,不一致,并且不一定包含标识属性。当一个非常简单的正则表达式可以更可靠时,为什么还要导入额外的include并处理松散的标记呢

如果您有一个大型项目,其中项目中的一个方法只需要提取输入HTML文档的一个DIV的内容,该怎么办?它不是一个完整的HTML解析项目,只需要一个正则表达式。您的答案是包含更多导入并为此构建一个全新的框架?我每年做数百个项目。一半使用M/XPath,而另一半则不能,并且需要正则表达式

简言之,不要这么狭隘。参考XPath/DOM工具,但有助于回答一个问题。不要只是否决投票。我们不是尼安德特人,他们不需要一直嘲笑很久以前的一篇古老的“不要用正则表达式解析HTML”帖子

答案如下:

首先,单纯形:

(?s)<div.*?>(.*?)</div>
(?s)(*?)
需要一个特别命名的div吗

(?s)<div[^>]*?class="txt-block"[^>]*?>(.*?)</div>
(?s)]*?class=“txt块”[^>]*?>(*?)
想节省CPU并避免不必要的回溯吗

<div[^>]*?class="txt-block"[^>]*?>(([^<]*(?(?!</div>)<))*)</div>

]*?class=“txt块”[^>]*?>(([^您确实需要阅读以了解为什么RexEx和HTML解析结合起来不是一个好主意。请尝试。您不能使用regex解析HTML。大多数语言都有HTML解析器,请联机查看或HTML解析器。如果您希望自己做这件事,您将需要做更多的工作。您确实需要阅读以了解为什么RexEx和HTML解析结合在一起rsing结合使用不是一个好主意。试试吧。你不能用正则表达式解析HTML。大多数语言都有HTML解析器,请在线查看或HTML解析器。如果你想自己做,你需要做更多的工作。+1公平的回答,我觉得正则表达式是做HTML时的最后手段,但我仍然给出+1来指出一些需要改进的选项可以在有限的情况下工作。+1公平的回答,我觉得正则表达式是做HTML时的最后手段,但我仍然给出+1来指出一些在有限的情况下可以工作的选项。