2017-11-22 1 views
0

カンマinsider二重引用符を無視してCSVファイルを解析できるGroovy正規表現を探しています。 次の正規表現は、Javaではなく、Groovyでうまく機能:GROOVY - CSVの解析:二重引用符で囲まれたカンマを無視する

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

あなたがこの問題を解決するために私を助けてくださいだろう。私は検証 CSVファイル形式にしたい

は、次の例については、例えば、フォーマットが正しいかではありません。

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

しかし、この場合には、フォーマットが有効ではありません。

Header1, Header2, Header3 
1, 2 

Groovy Split CSVを確認しても問題は解決しませんでした。そのため記事に示されているソリューションは、以下のCSVの解析後:

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

をし、それが5を無視します:

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

にマッチします!しかし、私は、フォーマットが正しくないというメッセージを印刷したい。

ありがとうございます。

it.split( "(=(:?:?[^ \ "このようにそれを変更する

+0

あなたは正規表現をGroovyでJavaでうまく動作しますが、ではない>と言って何を意味するのですか? – aristotll

答えて

0

試してみる] \"[^ \ "] \")[^ \"]

) "{1})$ \私を知ってみましょう。

+0

あなたの質問は、私たちはあなたを与えることを試みたことがなければならない適切に説明回答または助け –

関連する問題