2011-05-12 58 views
1

我在C#中有一個系統需要一組關鍵字。如果存在關鍵字,則必須檢查兩個字段。所需關鍵字的RegExp?

最初我寫了一個foreach循環來遍歷每個關鍵字,然後遍歷結果並檢查。然而,這樣做效率有點低,因爲在檢查時,我想看看是否有任何關鍵字存在於給定的字符串中,而不是一個接一個地存在。

謝謝。

+0

您是否有示例代碼? – YetAnotherUser 2011-05-12 21:06:18

回答

1

((關鍵字1)|(關鍵字2)|(KEYWORD3))

林不知道到底如何C#確實正則表達式,但這應該匹配並返回匹配。

您可以測試正則表達式here

+0

我相信OP的問題比循環更多的是正則表達式。 – YetAnotherUser 2011-05-12 21:19:54

+1

測試正則表達式的好鏈接,加書籤。謝謝。 – YetAnotherUser 2011-05-12 21:23:24

1

如果你是C#3.5+試試這個

 Regex r1 = new Regex("MyKeywordRegex"); 
     IEnumerable<MyResultClass> results = GetMyResults(); 
     var myFilteredResults = results.Any(a => (r1.IsMatch(a.Field))); 
+0

你不需要兩個正則表達式。一個正則表達式可以檢查兩個/所有單詞的存在。 – 2011-05-12 21:16:36

+0

要麼我生氣了,要麼你編輯了你的問題,因爲我正在發表評論:) – 2011-05-12 21:18:48

+0

@Russell - 我正在更新代碼:)。好,但是,謝謝。 – YetAnotherUser 2011-05-12 21:21:04

2

這是否question比賽你正在嘗試做什麼?

答案告訴您如何在一個去匹配多個可能的話用正則表達式