Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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
Html 将页面源标记与正则表达式匹配_Html_Regex - Fatal编程技术网

Html 将页面源标记与正则表达式匹配

Html 将页面源标记与正则表达式匹配,html,regex,Html,Regex,我试图用regex从页面源捕获标记。 经过一段时间的努力,我发现很难确定。 下面是一个HTML源的示例: <div class="searchBx"> <div> <li><a href="/" class="on">somthing</a></li> </div> </div> <div> <li><a href="/" class="on">somth

我试图用regex从页面源捕获标记。 经过一段时间的努力,我发现很难确定。 下面是一个HTML源的示例:

<div class="searchBx">
 <div>
  <li><a href="/" class="on">somthing</a></li>
 </div>
</div>
<div>
 <li><a href="/" class="on">somthing2</a></li>
</div>

  • 我试图只捕获(div class=“searchBx”)标记和其中的标记

    这很难,因为它总是抓住他身后的div标签。 结果应该是:

    <div class="searchBx">
     <div>
      <li><a href="/" class="on">somthing</a></li>
     </div>
    </div>
    
    
    

  • 非常感谢。

    regex不可能与您提到的div相匹配

    由于div包含另一个div,因此本质上它将无法区分其中的
    标记和关闭您希望匹配的div的
    标记

    <div class="searchBx">
     <div>
      <li><a href="/" class="on">somthing</a></li>
     </div> <!-- This -->
    </div> <!-- and this are the same to regex -->
    <div>
     <li><a href="/" class="on">somthing2</a></li>
    </div>
    
    
    
  • 下面是发生的情况:

    对于您需要做的事情,您必须在您使用的任何语言中使用DOM解析器


    另外,但每个人都会这样做。

    您在源代码中提到的这个div类“隐藏”在哪里。还有,看看标题中的第一个单词“匹配”会更好吗?Jeff Dean可以用常规表达式解析HTML我想接下来的自然问题是“谁是Jeff Dean?”而且,我不是说这是不可能的,只是不是很好的练习。抱歉,我只是忍不住写了出来。这是一个笑话:正则表达式确实不适合html解析(请参阅以供参考)。杰夫·迪恩是一位著名的谷歌工程师,在互联网上以“杰夫·迪恩的事实”(类似于应用于计算机科学的查克·诺里斯事实)而广为人知。看看你是否想找点乐子哦好吧伙计。。。我想我有时候有点太严肃了!;)好笑话!