用Regex.Replace处理[bold]1234[/bold][bold]abcd[/bold]
变成:
<b>1234</b><b>abcd</b>不知道是不是一次全部转换,可以用While IsMatch……

解决方案 »

  1.   

    Regex r1 = new Regex("\[bold\]");
    Regex r2 = new Regex(\[/bold\]);string ddd = r1 .Replace("[bold]1234[/bold][bold]abcd[/bold]", "<b>");
    ddd = r2 .Replace(ddd,"</b>");无验证,错误概不负责
      

  2.   

      string str = "[bold]1234[/bold][bold]abcd[/bold]";
                Regex reg = new Regex(@"\[bold]([^\[]*)\[/bold\]");
                string result = reg.Replace(str, "<bold>$1</bold>");
      Console.Write(result);
    <bold>1234</bold><bold>abcd</bold>
      

  3.   

    string newStr = Regex.Replace(Regex.Replace(str, "\\[bold\\]", "<b>", RegexOptions.Compiled), "\\[/bold\\]", "</b>", RegexOptions.Compiled);
      

  4.   

    var input = "[bold]1234[/bold]asdf [bold]abcd[/bold]";
    var regex = new Regex(@"\[bold\](.*?)\[/bold\]");
    var result = regex.Replace(input, x => "<b>" + x.Groups[1].Value + "</b>");
    Console.WriteLine(result);
    Console.Read();
      

  5.   

    var input = "[bold]1234[/bold]asdf [bold]abcd[/bold]";
    var regex = new Regex(@"\[bold\](.*?)\[/bold\]");
    var result = regex.Replace(input, "<b>$1</b>");
    Console.WriteLine(result);
    Console.Read();
      

  6.   


                string str = "[bold]1234[/bold][bold]abcd[/bold]";
                Console.WriteLine(Regex.Replace(str,@"(?i)\[bold\]([^\]\[]+)\[/bold\]","<b>$1</b>"));
      

  7.   

    为什么都往那个胡同里钻呢string test = "[bold]1234[/bold][bold]abcd[/bold]";
    Regex reg = new Regex(@"(?i)\[(/?)bold\]");
    string result = reg.Replace(test, "<$1b>");
    richTextBox2.Text = result;