가장 .NET 스타일의 방법은
var regex = new Regex(@"^(?<first>.*?):(?<second>.*)$", RegexOptions.Compiled);
Console.WriteLine(regex.Replace("moon:glow", "${second}:${first}"));
이
glow:moon
당신은 또한 이렇게 같은 서수 참조를 사용할 수 있습니다 인쇄 할 것 . 반면
은 개별적 예컨대 :
var regex = new Regex(@"^((?<token>.*?):)*", RegexOptions.Compiled);
foreach (Capture token in regex
.Match("moon:glow:is:the most:beautiful:thing")
.Groups["token"].Captures)
Console.WriteLine(token.Value);
출력
moon
glow
is
the most
beautiful
정교 일치의 평가를 얻으려면, 당신이 할 것, 예를 들어 같은 반복 원자에 대한 모든 일치하는 값을 검색 할 수 있습니다 펄
var upper = Regex.Replace("moon:glow:is:the most:beautiful:thing", "(.*?)(:|$)",
m => m.Groups[1].Value.ToUpper() + m.Groups[2]);
Console.WriteLine(upper);
불행하게도, 난 단지 (I 모노로 볼 수 있습니다 알고있는 서비스로 컴파일러를 사용하는 경우를 제외하고는 텍스트와 같은 평가 기능을 구성 할 쉬운 방법을 볼 수 없지만, 나는 MS에 아주 확실하지 않다. Net 아직 없음)
OP는이를 앱에서 사용자 정의 된 대체 정의를 수락하는 일반적인 방법으로 어떻게 변환해야합니까? 귀하의 예는 전환을 수행합니다. 그의 모범은 사례를 수정합니다. –
실종. 추가 된 – sehe
+1 OP와 마찬가지로 C# RegEx가 수행 할 대체의 일반 사양에 대한 사용자 인터페이스를 제공하는 것이 쉽지 않다고 생각합니다. –