正規表現に問題があります。置き換えたい正規表現 - 文字を置換する
$ [.....]を$ {.....}に置き換えます。 '{'の前に '$'がある場所のみ。
Regex myRegex = new Regex(@"\$\[[^\]]+", RegexOptions.Multiline);
string myString = "voici le [contenu] de $[ma chaine de caractères] dans un contexte précis $[pour faire des essais] de remplacement";
while (myRegex.Match(myString).Success)
{
Console.WriteLine(myString);
Console.WriteLine("");
string myOudString = myRegex.Match(myString).Value+"]";
Console.WriteLine("myOudString is " + myOudString);
string myNewString = myOudString.Replace("[", "{");
myNewString = myNewString.Replace("]", "}");
myString = myString.Replace(myOudString, myNewString);
}
しかし、私は、特定の文字列に問題がある:
次のコードは、私が望むほとんど何。たとえば:
string myString = "Here is $[a sample [of] code] to $[replace different] character"
私のコードが返されます
:
は "ここで$ {置き換える異なる}文字に$ {}コードのサンプルを{}です"。
しかし、私は返すようにしたい:
は「ここで$私は誰も私を助けることができることを願っています文字
{異なるを交換}の{コード[の]サンプル} $である
感謝。 !
バランシンググループを試してください。 – UserControl