2017-11-22 3 views
0

콤마 내부자 따옴표를 무시하면서 CSV 파일을 구문 분석 할 수있는 그루비 정규식을 찾고 있습니다. 다음 정규식 그루비에서 잘 자바하지만 작동합니다GROOVY - CSV 구문 분석 : 큰 따옴표 안에 쉼표를 사용하지 마십시오.

it.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)") 

당신은 내가이 문제를 해결하는 데 도움시겠습니까.

Header1, Header2, Header3 
1, 2, 3 
4, "5, 6", 7 

그러나이 경우, 형식이 유효하지 않습니다 :

Header1, Header2, Header3 
1, 2 

나는 예를 들어 다음과 같은 예를 들어, 형식이 정확한지 여부, 검증 CSV 파일 형식으로 원하는

Groovy Split CSV을 확인했지만 문제가 해결되지 않았습니다. 구문 분석 한 후, 그 기사에 표시된 솔루션은 CSV 다음과 같은 이유로

Header1: 1 
Header2: "2, 3" 
Header3: 4 

을 그리고 5를 무시 :

Header1, Header2, Header3 
1, "2, 3", 4, 5 

이 일치합니다! 하지만 저는 형식이 맞지 않다는 메시지를 출력하고 싶습니다.

미리 감사드립니다.

+0

당신이 정규식 그루비 자바에서 잘 작동하지만> 말해서 무슨 뜻 이죠? – aristotll

답변

0

시도는 다음과 같이 설정을 변경할 :

it.split를 ("(= (?? [^ \"] \ "[^ \"] \ ") [^ \"] \ $는 {1}) ")

은 알려주세요.

+0

질문을 설명 제대로 우리가 당신에게를 제공하기 위해 노력한다 대답이나 도움 –