我試圖在C#中使用正則表達式來搜索多詞短語。例如,我目前正在從SQL Server表中提取數據數據,並且需要找到用戶輸入關鍵字搜索「Hello World」。這場比賽可能是在記錄的開始,記錄的結尾或中間的任何地方。我可以匹配單個單詞關鍵字wothout一個問題。c#:嘗試使用正則表達式來匹配短語
在此先感謝。
找到我的答案:@「(\ b)+」+ strKeyword.txt + @「(\ b)+」; 至少它工作!
我試圖在C#中使用正則表達式來搜索多詞短語。例如,我目前正在從SQL Server表中提取數據數據,並且需要找到用戶輸入關鍵字搜索「Hello World」。這場比賽可能是在記錄的開始,記錄的結尾或中間的任何地方。我可以匹配單個單詞關鍵字wothout一個問題。c#:嘗試使用正則表達式來匹配短語
在此先感謝。
找到我的答案:@「(\ b)+」+ strKeyword.txt + @「(\ b)+」; 至少它工作!
如果如果你使用使用直接的SQL查詢中使用
select * from table where field like '%Hello World%'
LINQ的使用contains方法
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();
如果你有字符串變量只是使用正則表達式: string variable = "bla bla Hello World woop";
bool isExsistsReg = System.Text.RegularExpressions.Regex.IsMatch(variable, @"Hello World");
好吧,我們有點落後於時代,我們正在使用Visual Studio 2005,.Net 2.0,SQL Server 2005,並且沒有Linq – user1268235 2012-03-14 13:54:37
此外,搜索文本在變量中: – user1268235 2012-03-14 14:05:33
對於多字匹配使用 Match match = Regex.Match(text, @"(?:(hello world))")
但解決您的問題遵循@gabba已發佈的方法。
你的正則表達式有兩個無用的組。 '@「hello World」'完全一樣。 – stema 2012-03-14 07:46:58
請向我們顯示您的代碼,我們會幫您解決它。 – dasblinkenlight 2012-03-14 06:37:10