c#:尝试使用正则表达式来匹配短语
本文关键字:短语 正则表达式 | 更新日期: 2023-09-27 18:27:39
我试图在C#中使用正则表达式来搜索多单词短语。例如,我目前正在从SQL Server表中提取数据,我需要找到一个用户输入的关键字搜索"Hello World"。这场比赛可以是在一项记录的开始,也可以是在记录的结束,也可以介于两者之间。我可以匹配一个单词的关键字,但没有问题。
提前谢谢。
找到我的答案:@"(''b)+"+strKeyword.txt+@"(/b)+";至少它有效!
用于多词匹配Match match = Regex.Match(text, @"(?:(hello world))")
但要解决您的问题,请按照@gabba发布的方法进行操作。
-
如果您使用直接sql查询,请使用
select * from table where field like '%Hello World%'
-
如果您使用Linq,请使用包含方法
var res = from rec in records where rec.field.Contains("Hello World") select rec
-
如果你有一个数据集合,你可以匹配像这样的每个元素
records.Where(x => System.Text.RegularExpressions.Regex.IsMatch(x.field, @"(?:(hello world))")).ToList();
-
如果您有字符串变量,只需使用Regex:
string variable = "bla bla Hello World woop";
bool isExsistsReg = System.Text.RegularExpressions.Regex.IsMatch(variable, @"Hello World");