this.richTextBox1.Text=System.Text.RegularExpressions.Regex.Replace(this.richTextBox1.Text,@"\bif\b","fi");怎么让if替换成fi后再变成其他颜色啊?

解决方案 »

  1.   

    Regex rg=new Regex(@"\bif\b");
    this.richTextBox1.Text=rg.Replace(this.richTextBox1.Text,"fi");
    Regex reg=new Regex(@"\bfi\b");
    MatchCollection ma=reg.Matches(this.richTextBox1.Text);
    int j=0;
    for(int i=0;i<ma.Count;i++)
    {
    Match mat=reg.Match(this.richTextBox1.Text,j);
    j+=mat.Index+2;
    this.richTextBox1.Select(mat.Index,2);
    this.richTextBox1.SelectionColor=Color.Red;
    }
      

  2.   

    对不起。j+=mat.Index+2;这里多打了个+号。。应该是j=mat.Index+2;
      

  3.   

    楼上的代码  如果我连续输入if if if if if if if 就会报错,请问是为什么啊?
      

  4.   

    问题我已经说了啊。。你改一下。。j+=mat.Index+2;//这里多打了个+号。。把j后面的加号去掉就可以了。。