string sql = "123*456 asdasd**fdasdfa";sql = Regex.Replace( sql , @"(?<keyword>\*+|其他关键字)" , "\[${keyword}\]" , RegexOptions...);不知符合你的意思不?

解决方案 »

  1.   

    帮UP,然后蹭点水,哈哈(?:\[\*\])|\*
    or 
    \[\*\]|\*
      

  2.   

    好像不用正则表达式更好处理:string strNoUse="[NoUseString]";
    string strInput="123[**]456",123[*[*]456";
    string strOutput=strInput.Replace("[*]",strNoUse).Replace("*","[*]").Replace(strNoUse,"[*]");
      

  3.   

    string strReg=@"([^\[]?[\s]*)([\*]|select|delete)([\s]*[^\]]?)";
    string sql = "123*456 asdasd**fdasdfa";
    sql = Regex.Replace( sql ,strReg , "\[${2}\]" ,RegexOptions.Singleline );
    sql = Regex.Replace( sql ,strReg , "\[${2}\]" ,RegexOptions.Singleline );
    sql = Regex.Replace( sql ,strReg , "\[${2}\]" ,RegexOptions.Singleline );