正規表現を用いて、CSVデータ内に括り文字以外のダブルクォーテーションを検索したいのですが
どのように表現すれば良いかご掲示頂けないでしょうか。
(言語はC#での開発を予定していますが、まずは秀丸エディタなどのテキストエディタで検索できれば。と考えております)
例)以下のようなCSVデータの場合2行目を検索したい
123, "abc", "123abc"
456, "def", "456"def" ←検索対象
789, "ghi", "789,ghi"
また、上記が可能な場合、さらに発展してエスケープされているダブルクォーテーションを除外する
正規表現の指定は可能でしょうか?
例)以下の2行目は検索対象となるが、3行目は対象外となる
123, "abc", ""
456, "def", "456"d"ef" ←検索対象
789, "ghi", "78""9""ghi" ←検索対象外
CSVとして、ダブルクォーテーションがエスケープされた状態と、エスケープされていない状態が混在するのはおかしいです。ダブルクォーテーションをエスケープしないという仕様であれば、カラムの途中にダブルクォーテーションが出てきたら、そこでカラムの終端と解釈する、すなわち、ダブルクォーテーションはカラムの内部に出現してはならないというのがルールです。
もし、当該CSVの仕様として、ダブルクォーテーションはエスケープするとなっているのであれば、
456, "def", "456"d"ef" ←検索対象
は、パーズエラーにならなければおかしいです。

回答2件
あなたの回答
tips
プレビュー