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

正则表达式从HTML提取文本

白高超
2023-03-14
问题内容

我想从一般的HTML页面中提取所有文本(是否显示)。

我想 删除

  • 任何HTML标记
  • 任何JavaScript
  • 任何CSS样式

是否有一个正则表达式(一个或多个)可以实现?


问题答案:

您不能真正用正则表达式解析HTML。太复杂了。RE根本无法<![CDATA[正确处理部分。此外,某些常见的HTML之类的东西&lt;text>将在浏览器中作为适当的文本工作,但可能会使天真的RE感到困惑。

有了合适的HTML解析器,您会更快乐,更成功。蟒蛇人经常使用“美丽的汤”来解析HTML并去除标签和脚本。

此外,设计使浏览器可以容忍格式错误的HTML。因此,您经常会发现自己试图解析HTML,这显然是不正确的,但是碰巧在浏览器中可以正常工作。

您也许可以使用RE解析错误的HTML。它所需要的只是耐心和努力。但是使用其他人的解析器通常更简单。



 类似资料:
  • 我正在寻找一个正则表达式,它必须在不同类型的HTML标记之间提取文本。 对于前任: <代码> <代码> <代码> 我找到了这个特殊的片段

  • 使用regex,我希望能够获得多个html标记之间的文本。这里的HTML只是为了表示输入,我不担心HTML标签,只是想检索HTML标签中的内容(在正确的开始和结束标签之间)。例如,以下内容: 所需输入: 所需输出: 获得的输出: Regex我尝试过: 我没有得到预期的结果。 我的java代码:

  • 本文向大家介绍正则表达式提取img的src,包括了正则表达式提取img的src的使用技巧和注意事项,需要的朋友参考一下 要匹配的字符串:<img src=image/ad1.gif width="128" height="36"/><img src='image/ad2.gif' width="128" height="36" /> 正则表达式:<img[\s]+src[\s]*=[\s]*(([

  • 我想从与正则表达式模式匹配的字符串中提取子字符串。 所以我在寻找这样的东西: 这就是我所拥有的: 问题是,为我提供了一个数组,其中的类型为。 < code>NSRange与< code >范围不兼容 知道如何在没有太多代码行的情况下在 swift 中实现这个简单的事情吗?

  • 我试图从一个大字符串中提取几个值,我很难提取它们,我厌倦了一些正则表达式模式,但它们总是给我不匹配的结果。无论如何,它们似乎在可用的在线正则表达式站点中有效,但在Scala中无效。我想做的是 输入: ESStor \磁盘 提取[输出]: 供应商名称 MO_May_MS_5.0 08765J54U3K4QVR0 我试图从输入字符串中提取这三个值,但无法做到。 有人能让我看看我做错了什么吗? 提前谢谢

  • 问题内容: 我正在寻找一个正则表达式,可以从Java中的HTML片段中获取src(不区分大小写)标签。 问题答案: 一种可能性: 是可能的(如果不区分大小写地匹配)。这有点混乱,故意忽略了不使用引号的情况。要表示它而不必担心字符串转义: 这符合: 一个或多个不是的字符(即可能的其他属性) 可选空格 可选空格 或的起始定界符 图片来源 (可能不包含单引号或双引号) 结束定界符 尽管表达式可以在此处停