2023 © RegexOne
邮箱 | Twitter
如果您正在寻找一种强大的方法来解析 HTML,正则表达式通常不是答案,因为当今互联网上的 HTML 页面非常脆弱——常见的错误,例如缺少结束标签、标签不匹配、忘记关闭属性引号,都会破坏一个完美的正则表达式。相反,您可以使用像 Beautiful Soup 或 html5lib(两者都是 Python)或 phpQuery(PHP)这样的库,它们不仅可以解析 HTML,还可以让您快速轻松地遍历 DOM。
也就是说,通常您希望在编辑器中快速匹配标签和标签内容,如果您能保证输入的正确性,正则表达式是一个很好的工具来做到这一点。如下面的示例所示,您需要注意一些具有额外转义引号和嵌套标签的奇特属性。
请继续为以下示例编写正则表达式。
任务 | 文本 | 捕获组 | |
捕获 | <a>这是一个链接</a> | a | |
捕获 | <a href='https://regexone.fullstack.org.cn'>链接</a> | a | |
捕获 | <div class='test_style'>测试</div> | div | |
捕获 | <div>你好 <span>世界</span></div> | div |
解决方案 | 最佳实践是使用合适的库来解析 html,但要查找简单的标签名称,您可以使用表达式 <(\w+)。 您还可以捕获标签内容 >([\w\s]*)<,或者甚至捕获属性值 ='([\w://.]*)'(尽管这不是此问题目标)。 |