我在C#中有一個系統需要一組關鍵字。如果存在關鍵字,則必須檢查兩個字段。所需關鍵字的RegExp?
最初我寫了一個foreach循環來遍歷每個關鍵字,然後遍歷結果並檢查。然而,這樣做效率有點低,因爲在檢查時,我想看看是否有任何關鍵字存在於給定的字符串中,而不是一個接一個地存在。
謝謝。
我在C#中有一個系統需要一組關鍵字。如果存在關鍵字,則必須檢查兩個字段。所需關鍵字的RegExp?
最初我寫了一個foreach循環來遍歷每個關鍵字,然後遍歷結果並檢查。然而,這樣做效率有點低,因爲在檢查時,我想看看是否有任何關鍵字存在於給定的字符串中,而不是一個接一個地存在。
謝謝。
我相信OP的問題比循環更多的是正則表達式。 – YetAnotherUser 2011-05-12 21:19:54
測試正則表達式的好鏈接,加書籤。謝謝。 – YetAnotherUser 2011-05-12 21:23:24
如果你是C#3.5+試試這個
Regex r1 = new Regex("MyKeywordRegex");
IEnumerable<MyResultClass> results = GetMyResults();
var myFilteredResults = results.Any(a => (r1.IsMatch(a.Field)));
你不需要兩個正則表達式。一個正則表達式可以檢查兩個/所有單詞的存在。 – 2011-05-12 21:16:36
要麼我生氣了,要麼你編輯了你的問題,因爲我正在發表評論:) – 2011-05-12 21:18:48
@Russell - 我正在更新代碼:)。好,但是,謝謝。 – YetAnotherUser 2011-05-12 21:21:04
這是否question比賽你正在嘗試做什麼?
答案告訴您如何在一個去匹配多個可能的話用正則表達式
您是否有示例代碼? – YetAnotherUser 2011-05-12 21:06:18