try something like
using System;
using System.Text.RegularExpressions;String sSql = "[sql===1===sql] whatever ....[sql===2===sql]...";
String sSql2 = Regex.Replace(sSql, @"\[sql===(?<sql>.*?)===sql\]", new MatchEvaluator(MyMatchEvaluator), RegexOptions.IgnoreCase);
Console.WriteLine(sSql2);//..... public static string MyMatchEvaluator(Match match)
   {
string s = match.Groups["sql"].Value;
string sRet = "";
switch (s)
{
   case "1":
sRet = "a";
break;
   case "2":
sRet = "b";
break;
   default:
sRet = "z";
break;
} return "[sql==="+sRet+"===sql]";
   }