我在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