我想找到使用正则表达式在后面的句子中使用“dear”字的次数。有任何想法吗?所以在这个例子中我应该得到4
Hello DEAR Friend,这是一个包含单词dear重复的字符串;所以,亲爱的,如果你能保持亲爱的用词,那就太棒了
答案 0 :(得分:5)
Regex reg = new Regex("\\bdear\\b", RegexOptions.IgnoreCase);
int count = reg.Matches(input).Count;
或者我在你的问题中遗漏了什么?
答案 1 :(得分:1)
正如您所说的那样,您不需要使用正则表达式。你应该通常使用字符串操作而不是正则表达式;在这种情况下,只有当您的目标(在您的示例中为dear
)将成为整个有效选择类时,您才需要它。
除非是这种情况,否则我建议使用字符串操作。一种可能性:
int count = source.ToLower().Split("dear").Length - 1;
我对更高效的版本持开放而不必使用ToLower()
,但对于大多数用途我不会担心。它应该仍然比正则表达式快。