vs2005  C#我想匹配一个字符串中某个关键字出现的次数我用了下面的这则表达式:int m = System.Text.RegularExpressions.Regex.Matches(((RichTextBox)frm1.Controls["richTextBox1"]).Text,
                    strKey,
                    System.Text.RegularExpressions.RegexOptions.IgnoreCase).Count;但是有一个问题:就是strKey这个关键字中如果含有*,|,?等正则表达式中转移字符时,不准确。有某办法改善?

解决方案 »

  1.   

    int m = System.Text.RegularExpressions.Regex.Matches(((RichTextBox)frm1.Controls["richTextBox1"]).Text,
                        Regex.Escept(strKey),
                        System.Text.RegularExpressions.RegexOptions.IgnoreCase).Count;
      

  2.   

    拼写错误,这样。
    int m = System.Text.RegularExpressions.Regex.Matches(((RichTextBox)frm1.Controls["richTextBox1"]).Text,
                        Regex.Escape(strKey),
                        System.Text.RegularExpressions.RegexOptions.IgnoreCase).Count;
      

  3.   

    为啥不using一下int m = System.Text.RegularExpressions.Regex.Matches(((RichTextBox)frm1.Controls["richTextBox1"]).Text,
             System.Text.RegularExpressions.Regex.Escape(strKey),
             System.Text.RegularExpressions.RegexOptions.IgnoreCase).Count;