c#:尝试使用正则表达式来匹配短语

本文关键字:短语 正则表达式 | 更新日期: 2023-09-27 18:27:39

我试图在C#中使用正则表达式来搜索多单词短语。例如,我目前正在从SQL Server表中提取数据,我需要找到一个用户输入的关键字搜索"Hello World"。这场比赛可以是在一项记录的开始,也可以是在记录的结束,也可以介于两者之间。我可以匹配一个单词的关键字,但没有问题。

提前谢谢。

找到我的答案:@"(''b)+"+strKeyword.txt+@"(/b)+";至少它有效!

c#:尝试使用正则表达式来匹配短语

用于多词匹配Match match = Regex.Match(text, @"(?:(hello world))")但要解决您的问题,请按照@gabba发布的方法进行操作。

  1. 如果您使用直接sql查询,请使用

    select * from table where field like '%Hello World%'

  2. 如果您使用Linq,请使用包含方法

    var res = from rec in records where rec.field.Contains("Hello World") select rec

  3. 如果你有一个数据集合,你可以匹配像这样的每个元素

    records.Where(x => System.Text.RegularExpressions.Regex.IsMatch(x.field, @"(?:(hello world))")).ToList();

  4. 如果您有字符串变量,只需使用Regex:
    string variable = "bla bla Hello World woop";
    bool isExsistsReg = System.Text.RegularExpressions.Regex.IsMatch(variable, @"Hello World");