显示“Google like”搜索结果

时间:2010-05-02 11:57:20

标签: asp.net regex vb.net string

在ASP.NET(VB)中工作,我正在尝试为我的网站开发一个简单的搜索结果页面。

流程如下:

  1. 网站的用户输入搜索词组;

  2. 搜索结果页面搜索网站的数据库,将页面标题作为链接返回,并从每个搜索“点击”返回一个简短的片段,并突出显示搜索词组。

  3. 我已完成搜索部分,并且还完成了“突出显示”部分(使用Regex)。但是,我希望能够返回一小段文本,其中包括搜索短语(搜索短语之前的几个单词,之后的几个单词)。类似的东西:

    页面标题[作为链接]

    ... yada yada yada 搜索词组 yada yada yada ....

2 个答案:

答案 0 :(得分:1)

Google会显示找到关键字的句子。假设您已在文本中找到关键字位置,我会这样做:

  1. 从关键字位置向后搜索char,直至找到.?!或文字的开头。
  2. 从该位置返回所需长度的子字符串。

答案 1 :(得分:1)

(\b\S+\b(\s*)){3}search phrase((\s*)\b\S+\b){3}

这将在“搜索短语”之前选择3个单词,在之后选择3个单词。

如果你有句子“搜索短语lorum ipsum搜索短语”它可能只匹配第一个搜索短语