从关键字

时间:2016-05-27 10:54:06

标签: c# regex string search text

我们假设我有一些文字:

  

Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do   eiusmod tempor incididunt ut labore et dolore magna aliqua。

  1. 如果我查询“sed do”,我想得到“sed to”+左侧和右侧的另外2个单词。在这种情况下,我想得到:
  2.   

    adipiscing elit, sed do eiusmod tempor

    1. 如果我查询“aliqua”,我想得到:
    2.   

      dolore magna aliqua

      我认为最好的方法是使用正则表达式(它不是必须的),但我不知道如何构建这样的查询。

1 个答案:

答案 0 :(得分:1)

这可以通过用\s?\S*\s?\S*包围目标词来完成,如下所示:

\S*\s?\S*\s?consectetur\s?\S*\s?\S*

demo 1.

由于空格\s是可选的,\S*可以匹配零个字符,因此这也适用于文本的两端(demo 2demo 3)。

注意:当单词被多个空格分隔时,这种方法效果不好,因为它依赖于计算空格。