제목이 모호하게 들릴 수도 있지만 계속해서 읽으십시오.Regex는 구분할 동일한 문자가 포함 된 두 문자 사이의 문자열을 일치시킵니다.
의 내가이 문자열을 있다고 가정 해 봅시다 :
TestBlock1 { NestedBlock1.1 {
Text = Text } }
TestBlock2 { NestedBlock2.1 {
Text = Text } NestedBlock2.2 {
Text = Text } }
내가 BlockName {...}로 문자열과 일치 할 수 있어야합니다. 이것은 내가 시도한 것입니다 :
[\w]+\s*{\s*[^.]+\s*}
아이디어는 배열로 일치를 얻는 것입니다.
string[] block;
block[0] = TestBlock1 { NestedBlock1.1 { Text = Text } }
block[1] = TestBlock2 { NestedBlock2.1 { Text = Text } NestedBlock2.2 { Text = Text } }
문제는 전체 문자열을 가져 오는 것입니다. "분리 문자"문자가 포함 된 두 문자 사이에 문자열을 가져 오는 것이 원격으로 가능합니까?
(재귀 정규 표현식에를 지원) .NET에서
를 사용할 수 있습니다. 파서를 작성해야 할 수도 있습니다. – arshajii
어떤 정규식 엔진을 사용하고 있습니까? (이것은'regex' 태그가 붙은 모든 질문에 대한 필수 정보입니다.) 일부 최신 엔진은 재귀를 지원합니다. –
@Tim : 현재로서는 regexpal.com을 사용하여 테스트하고 있지만 최종 사용법은 C#이 될 것입니다. – TacticalNinja