问题 4:匹配 HTML

如果您正在寻找一种强大的方法来解析 HTML,正则表达式通常不是答案,因为当今互联网上的 HTML 页面非常脆弱——常见的错误,例如缺少结束标签、标签不匹配、忘记关闭属性引号,都会破坏一个完美的正则表达式。相反,您可以使用像 Beautiful Souphtml5lib(两者都是 Python)或 phpQuery(PHP)这样的库,它们不仅可以解析 HTML,还可以让您快速轻松地遍历 DOM。

也就是说,通常您希望在编辑器中快速匹配标签和标签内容,如果您能保证输入的正确性,正则表达式是一个很好的工具来做到这一点。如下面的示例所示,您需要注意一些具有额外转义引号和嵌套标签的奇特属性。

请继续为以下示例编写正则表达式。

练习 4:捕获 HTML 标签
任务 文本 捕获组  
捕获 <a>这是一个链接</a> a To be completed
捕获 <a href='https://regexone.fullstack.org.cn'>链接</a> a To be completed
捕获 <div class='test_style'>测试</div> div To be completed
捕获 <div>你好 <span>世界</span></div> div To be completed
解决方案

最佳实践是使用合适的库来解析 html,但要查找简单的标签名称,您可以使用表达式 <(\w+)

您还可以捕获标签内容 >([\w\s]*)<,或者甚至捕获属性值 ='([\w://.]*)'(尽管这不是此问题目标)。

解决上述任务以继续下一个问题,或阅读 解决方案