정규 표현식에 문제가 있습니다.Regex - 문자 바꾸기
$ [.....]을 $ {.....}으로 바꾸고 싶습니다. '{'앞에 '$'가있는 곳만.
다음 코드는 내가 원하는 거의 무엇 :
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