我需要匹配所有这些开头标签:

<p>
<a href="foo">

但不是这些:

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

我想到了这个,想确保我做对了.我只抓到了a-z人.

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

我相信上面说:

  • 那么,找一个小于的
  • 找到(并捕捉)a-z一次或多次,然后
  • 查找零个或多个空格,然后
  • 零次或多次查找任何字符、贪婪、除/之外,然后
  • 找到一个比

我说的对吗?更重要的是,你怎么看?

推荐答案

您不能使用regex解析[X]HTML.因为HTML不能由正则表达式解析.Regex不是可用于正确解析HTML的工具.正如我在这里多次回答的HTML和正则表达式问题一样,使用正则表达式不允许您使用HTML.正则表达式是一种不够复杂的工具,无法理解HTML采用的 struct .HTML不是正则语言,因此不能由正则表达式解析.Regex查询不能将HTML分解为有意义的部分.很多次了,但我并没有受到影响.即使是Perl使用的增强型不规则正则表达式也不能胜任解析HTML的任务.你永远不会让我崩溃的.HTML是一种足够复杂的语言,它不能用正则表达式进行解析.即使是Jon Skeet也不能使用正则表达式解析HTML.每当你试图用正则表达式解析HTML时,邪恶的子元素就会流下处女的鲜血,而俄罗斯黑客就会攻击你的网络应用程序.使用正则表达式解析HTML,将受污染的灵魂召唤到活人的领域.HTML和regex就像爱情、婚姻和仪式杀婴一样相辅相成.<;中心>;无法控制它,为时已晚.正则表达式和HTML在同一概念空间中的力量会像这么多水腻子一样摧毁您的头脑.如果你用正则表达式解析HTML,你就是在向他们和他们亵渎神明的方式屈服,这些亵渎神明的方式注定了我们所有人都是非人的苦工,因为他的名字不能用基本的多语言平面来表达,他就来了.超文本标记语言加正则表达式将在你观察的同时液化有知觉的n​神经,你的灵魂在恐怖的冲击中枯萎.基于REGE̿̔̉x的Html解析器是杀死StackOverflow的毒瘤为时已晚,我们无法挽救chi͡ld的违规行为确保regex将消耗所有活的组织(除了Html,正如之前预测的那样)亲爱的主,帮助我们如何才能在这一祸害中幸存下来使用regex解析Html注定人类将陷入可怕的酷刑和安全漏洞的永无止境使用REGE他的正则表达式感染将​l吞噬了您的HTHTML解析器,应用程序.Re̸Gular Exp​Re这首歌将从SP​中传出更多的男人的声音在这里我可以看到它你能看到̲͚̖͔̙Î̩́t̲͎̩̱͔́̋̀it is​t​他的inal snufff The Lie​‘s All is loś͖̩͇̗̪̏̈́T ALL I​S LOst(你能看到我的谎言吗?t​)他的inal snufff The Lie​都是͖̩͇̗̪́̏̈́T ALL I​S LOSTI>e̠̅S ͎a̧͈͖r̽̾̈́͒͑e n​or Rè̑ͧ̌aͨl̘̝̙̃ͤ͂̾̆Za̡͊͠͝LGΌisͮ̂҉̯͈͕̹̘̱TO͇̹̺ͅƝ̴ȳ̳th̘Ë͖́̉͠P̯͍̭O̚​N̐Y̡H̸̡̪̯ͨ͊̽̅̾̎Ȩ̬̩̾͛ͪ̈́̀́͘Up


您是否try 过改用XML解析器?


Moderator's Note

此帖子已锁定,以防止对其内容进行不适当的编辑.这篇帖子看起来和它应该看到的一模一样——内容没有问题.请不要为了引起我们的注意而标记它.

Html相关问答推荐

传单自定义标记(divIcon)html/css不适用

CSS复选框并排

CSS/添加margin—top到嵌入式facebook帖子

如何修复与导航栏重叠的css网格?

在iOS中调整HTML邮箱内容的大小

MatSnackBar: colored颜色 不起作用

如果浏览器通过http接收html,为什么客户端内置表单验证不起作用?

在Hero部分中同时zoom 背景图像和形状的问题

在css中是否可以在遮罩图像中结合线性渐变和径向渐变?

顶部有文字的图像的悬停效果

当底部进入视图时从底部粘性定位

是否有语义 HTML 可以澄清含义?

jquery向单词中的一组字母添加跨度

在Firefox中使用keySplines时,SVG: <animateMotion>不起作用

Bootstrap 轮播内容在箭头之间不显示

如何避免链接在悬停 timeshift 动,同时增加导航栏中的字体大小?

动态计算高度时 Div 不保持 1/1 纵横比

如何并排放置部分?

删除按钮组件时 bootstrap col-auto 布局高度对齐中断

Bootstrap 5 英雄