2014-09-05 3 views
-3

"[[1,2,3,4], sample, test : [abc, acd, 12], 1000]과 같은 문자열이 있습니다.이 문자열을 다음과 같이 나눌 필요가 있습니다. 다음과 같습니다.문자열을 구문 분석 할 정규 표현식

[1,2,3,4] 

sample 

test:[abc,acd,12] 

1000 

이 문자열을 구문 분석 할 정규 표현식을 만드는 방법.

+0

나는 당신의 패턴을 이해하지 않습니다. '['와']'로 분리하고 싶습니까? 그렇다면 왜 '1000'을 사용해야할까요? 그리고 왜'nsregularexpression' 태그를 사용합니까? –

+0

@ SonerGönül 답장을 보내 주셔서 감사합니다. 하나의 대괄호 안에도 1000입니다. – user3274485

+1

_ "필요합니다."는 질문이 아닙니다. 시도한 것과 실패한 것을 보여주십시오. – CodeCaster

답변

1

입력 문자열에서 [ 기호와 후행 ] 기호를 제거하고 [] 대괄호 안에없는 쉼표에 따라 결과 문자열을 분할합니다.

string str = "[[1,2,3,4],sample,test:[abc,acd,12],1000]"; 
string remove = Regex.Replace(str, @"]$|^\[", ""); 

string[] lines = Regex.Split(remove, @",(?![^\[\]]*\])"); 

foreach (string line in lines) { 
Console.WriteLine(line); 
} 
    Console.ReadLine(); 
} 

출력 :

[1,2,3,4] 
sample 
test:[abc,acd,12] 
1000 

IDEONE

+0

저에게 완벽하게 작동합니다. – user3274485

0

[^,]*?\[[\s\S]*?\][^,]*?|[^,]+