使用正则表达式的 T-SQL 搜索 html?

Posted

技术标签:

【中文标题】使用正则表达式的 T-SQL 搜索 html?【英文标题】:T-SQL search html with regex? 【发布时间】:2009-04-21 12:55:05 【问题描述】:

在我的数据库中,我有一个包含 html 文档的字段。现在必须有可能在此文档中进行搜索。但是,可能找不到 html 标签。所以当我有这样的事情时:

<html>
  <head>
    <title>Bar</title>
  </head>
  <body>
   <p>
     this content my be found
   </p>
  </body>
</html>

可能存储在数据库中的文档不是xhtml。您能告诉我在内容中搜索的最佳方式是什么吗?我应该使用正则表达式吗?因此,它会是什么样子?如果没有,我还应该使用什么?

【问题讨论】:

【参考方案1】:

您可以尝试打开Full-Text Search 或使用Lucene.Net 之类的东西为您索引内容。

【讨论】:

【参考方案2】:

有多少记录?我希望您可能必须使用全文搜索和 IFilter 才能有效地执行此操作。 Html 不适合正则表达式 - 很快就很难做一些非常简单的事情。

如果容量不大,您是否可以使用外部解析应用程序迭代记录,使用 HTML Agility Pack(适用于 .NET)或您选择的任何其他 DOM。

但 FTS/IFilter 将是我的首选。

【讨论】:

必须在 5 个表中进行搜索。每个表有几百条记录。如何使用 FTS 和 IFilter? 看起来在 Management Studio 的“管理”节点下。

以上是关于使用正则表达式的 T-SQL 搜索 html?的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式——html

使用正则表达式搜索 HTML? [迅捷1.2]

如何使用 Notepad++ 正则表达式搜索匹配 HTML 属性?

Linux文本过滤搜索器grep与egrep的常用正则表达式与用法

正则表达式:擦洗 HTML

正则表达式搜索 html 返回,但不是实际的 html jQuery