나는 심각한 프로젝트가 아닌 재미 있고 정규 표현식에 대해 좀 더 익숙해지기 위해 번역가를 쓰고 있습니다. 아래의 코드에서 나는 이걸로 어디에서 일할 수 있다고 생각하니? (cheezburger 누구?).Regex.Matches를 사용하여 일치하는 패턴 확인하기
정규식 목록을 키로 사용하고 사전 값이 대체 값 목록이 포함 된 List<string>
인 사전을 사용하고 있습니다. 이 방법으로 할 경우, 대용품이 무엇인지 알아 내기 위해 분명히 핵심이 무엇인지 알 필요가 있습니다. 어떤 패턴으로 경기를 시작했는지 어떻게 알 수 있습니까?
var dictionary = new Dictionary<string, List<string>>
{
{"(?!e)ight", new List<string>(){"ite"}},
{"(?!ues)tion", new List<string>(){"shun"}},
{"(?:god|allah|buddah?|diety)", new List<string>(){"ceiling cat"}},
..
}
var regex = "(" + String.Join(")|(", dictionary.Keys.ToArray()) + ")";
foreach (Match metamatch in Regex.Matches(input
, regex
, RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture))
{
substitute = GetRandomReplacement(dictionary[ ????? ]);
input = input.Replace(metamatch.Value, substitute);
}
나는 이것을 시도 할 수 있습니까? 아니면이 광기를 성취 할 수있는 더 좋은 방법이 있습니까?
'(?!))'이것은''''와 동일하기 때문에 의미가 없습니다. 아마도 당신은 부정적인 lookbehind 싶어? '(?
polygenelubricants
... 그리고 Buddha (Buddah가 아니라). .. 그리고 천장 고양이는 무엇 이냐? –
@ 팀 : 고양이가 천장 팬에서 흔들어 대고있는 바이러스 성 마케팅 캠페인에 대한 참고라고 생각합니다. –