当前位置: 首页 > 面试题库 >

RegEx匹配除XHTML自包含标签之外的其他打开标签

罗智志
2023-03-14
问题内容

我需要匹配所有这些开始标记:

<p>
<a href="foo">

但不是这些:

<br />
<hr class="foo" />

我想出了这个,想确保我做对了。我只是捕捉到a-z。

<([a-z]+) *[^/]*?>

我相信它说:

  • 找到一个小于,然后
  • 查找(并捕获)az一次或多次,然后
  • 找到零个或多个空格,然后
  • 找到零次或多次贪婪的字符,除了/,然后
  • 寻找大于

我有那个权利吗?更重要的是,您怎么看?


问题答案:

您无法使用正则表达式解析[X] HTML。因为正则表达式无法解析HTML。正则表达式不是可用于正确解析HTML的工具。正如我之前在这里多次回答HTML和Regex问题一样,使用正则表达式将不允许您使用HTML。正则表达式是一种不够复杂的工具,无法理解HTML所采用的结构。HTML不是常规语言,因此无法通过常规表达式进行解析。正则表达式查询无法将HTML分解为有意义的部分。有很多次了,但是没有得到我。甚至Perl使用的增强的不规则正则表达式也无法完成解析HTML的任务。你永远不会让我崩溃。HTML是一种足够复杂的语言,无法通过正则表达式进行解析。甚至Jon Skeet也无法使用正则表达式解析HTML。每次您尝试使用正则表达式解析HTML时,这个邪恶的孩子都会哭泣处女之血,俄罗斯黑客会伪装您的Web应用程序。用正则表达式解析HTML会使灵魂陷入生活领域。HTML和正则表达式可以像爱情,婚姻和仪式杀婴一样一起使用。

无法容纳它为时已晚。正则表达式和HTML共同作用于同一个概念空间中,将破坏您的大脑,就像水腻腻一样。如果您使用正则表达式解析HTML,那么您就是在屈服于他们及其亵渎神明的方式,这使我们所有人都为不愿在基本多语言平面中表达其名字的人付出辛劳。HTML + regexp将在您观察时液化智者的神经,使您的心灵在恐怖的冲击中枯萎。为时已晚,为时已晚,我们无法挽救孩子的混乱,确保正则表达式将消耗所有活体组织(除了HTML,如先前所言,HTML不能这样做)亲爱的上帝,我们可以帮助任何人使用正则表达式解析此祸患 HTML 使用rege x作为处理HTML的工具,将人类注定了永恒的酷刑和安全漏洞,在这个世界和腐败实体(例如SGML实体,但更腐败)的可怕领域之间建立了突破。 reg的世界前解析器HTML将插件 tantly运输AP rogrammer的意识我 n要AW ORL人的不断尖叫d,他来了,可恶SL ithy正则表达式感染WIL 升吞噬你的HT ML解析器,应用和存在的Visual Basic一样,所有的时间只有更糟,他谈到他命令 ES 没有网络连接 GHT ^ h E排,喜小号邪恶的光采德stro҉ying所有的启蒙运动,HTML标记泄漏fr̶ǫm玩吧眼睛像LIQ UID p AlN,定期EXP重的歌曲裂变解析将EXTI nguish的铁道部的声音从SP TAL的人在这里我可以看到它,你可以看到它是美丽的牛逼,他˚F inal snufFing头Ø F中的谎言的男人一切都失去了A的 LL我SLOST日è小马才想起小号他命令他共同ES 我式T 他 ICH或permeat ES人 L我FAC Ë我的脸ᵒh神ň □否野应 o在 Θ停止牛逼,他的*̶͑̾̾GL ES ͎a̧͈͖r̽̾̈́͒͑eñ OT真实ZA̡͊͠͝LGΌISͮ҉̯͈͕̹̘Ť O͇̹̺Ɲ̴ȳ̳TH ËPO NYH̸̡̪̯ͨ͊̽̅̾Ȩ̶̧̨̬̩̹̭̯̾͛ͪ̈ͧ̾ͬ͘C̷̙̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̖͊̒ͪͩͬ̚̚͜Ȇ̴̟̟͙̞ͩ͌͝ š

您是否尝试过使用XML解析器?



 类似资料:
  • 问题内容: 我需要匹配所有这些开始标签: 但不是这些: 我想出了这个,想确保我做对了。我只是捕捉到a-z。 我相信它说: 找到一个小于,然后 查找(并捕获)az一次或多次,然后 找到零个或多个空格,然后 找到零次或多次贪婪的字符,除了/,然后 寻找大于 *我有那个权利吗?更重要的是,您怎么看? 问题答案: 您无法使用正则表达式解析[X] HTML。因为正则表达式无法解析HTML。正则表达式不是可用

  • 问题内容: 我需要匹配所有这些开始标签: 但不是这些: 我想出了这个,想确保我做对了。我只是捕捉到。 我相信它说: 找到一个小于,然后 查找(并捕获)az一次或多次,然后 找到零个或多个空格,然后 找到零次或多次贪婪的字符,除了,然后 寻找大于 我有那个权利吗?更重要的是,您怎么看? 问题答案: 尽管只有正则表达式的任意 HTML是不可能的,但有时使用它们来解析有限的已知 HTML集合是适当的。

  • 问题内容: 谁能告诉我如何使用webdriver关闭除第一个标签/主标签之外的所有打开的标签? 我在下面尝试过,但是它同时关闭了所有标签,包括第一个标签。 请帮我。 问题答案: 获取所有窗口句柄,然后遍历它们,将webdriver切换到新的句柄,然后调用close方法。显然跳过原始手柄,然后切换回其余手柄。 就像是;

  • A well-known tag balancing: searches for tag or tag's content bounds from current caret position and selects it. It will expand (outward balancing) or shrink (inward balancing) selection when called m

  • 在页面中收集各种链接后,我点击这些链接并将其收集成汤。现在的问题是,链接在新标签中打开。我想在代码打开新标签中的下一个链接之前关闭标签。下面是代码片段。收完汤后,请帮我把每个标签关上。 我用python 3.7硒铬驱动

  • 问题内容: 我在html页面上制作了preg_replace。我的模式旨在为html中的某些单词添加周围的标记。但是,有时我的正则表达式会修改html标签。例如,当我尝试替换此文本时: 这样读,我的正则表达式也锚标记的alt属性取代亚萨尔。当前我正在使用的外观如下: 如何制作正则表达式,使其与html标记内的任何内容都不匹配? 问题答案: 您可以为此使用断言,因为您只需要确保搜索到的单词出现在或之