【问题标题】:Regular expressions for HTMLHTML 的正则表达式
【发布时间】:2012-03-01 13:14:25
【问题描述】:

我正在尝试找到以下正则表达式来实现我的程序以解析给定的 html 文件。你能帮我解决这些吗?

<div>
<div class=”menuItem”> 
<span> 
class=”emph” 
Any string beginning with < and ending with >, i.e. all tags. 
The contents of the body tag.
The contents of all divs 
All divs that make menus

我已经设法弄清楚单个 div 标签只是 " &lt; div &gt;" 而“所有标签表达式为&lt;(\"[^\"]*\"|'[^']*'|[^'\"&gt;])*&gt;

你觉得你能帮我解决剩下的问题吗? 提前谢谢你们...

我知道 HTML 解析是一个已经解决的问题并且正则表达式效率不高,但是要求我这样做,以便通过使正则表达式(有时)长而详细来演示正则表达式如何工作。这就是为什么我只是将我拥有的 HTML 文件作为一个简单的文本文件来处理,并且我需要在其上应用这些正则表达式。

【问题讨论】:

  • @AlexEncoreTr:这可能是一个技巧问题。如果你试图回答它而不建议正则表达式的替代方案,你将自动失败。
  • 那你的老师是H.P.洛夫克拉夫特...
  • "in order to demonstrate how regular expressions can work by making them (sometimes) long and detailed" 并且无法阅读和无法维护以及实际噩梦的原因
  • 哦,我很欣赏你的回答,但我告诉你,这些是我研究过的东西,我知道已经存在的库,我知道 html 不是一种常规语言,所有这些......但话又说回来,我不能仅仅因为讲师智障就让这个愚蠢的任务失败。我只是要求有人有时间和心情帮助我至少再表达一种表达方式! :P

标签: html regex parsing


【解决方案1】:

为了您自己的理智,请考虑为您所使用的语言使用 HTML 解析器库。正则表达式不适合此应用程序 - 它们无法可靠或干净地处理 HTML 等结构化数据。

https://stackoverflow.com/a/1732454/457201

【讨论】:

  • 啊,刚刚看到你想要使用正则表达式的原因。但是一旦你的课结束了,这个建议就成立了。呃,祝你好运……
  • 噢噢噢,我知道我必须懒惰并使用已经存在的库。这就是程序员会做的事!但不幸的是,这是对正则表达式的介绍性作业,我必须这样做。我讨厌我们的讲师,因为我知道下一个实验室会介绍正则表达式库,但现在,我必须以艰难而愚蠢的方式去做。
猜你喜欢
  • 2015-02-27
  • 1970-01-01
  • 2012-05-20
  • 1970-01-01
  • 1970-01-01
  • 2021-12-10
  • 1970-01-01
  • 2011-04-05
相关资源
最近更新 更多