CSVデータの、文字列データのカンマを検索する。 文字列データは、ダブルコーテーションでくくったデータですが、 \\は文字としての\ \"は文字としてのダブルコーテーション \tはタブ とします(Cのエスケープ方式) 検索前検索後
![]()
1,"abcd,efg","a,bc\\","dd\"\",\"ee," "aaa,aa\"c,cc",1,"ee\\\t,\\\\" 1,"\",\",\"ab,\"c,d\"e,f"
,(?!(((((?<=\\)|(?!(\\{2})*")).)*(?<!\\)(?=(\\{2})*").){2})*
(((?<=\\)|(?!(\\{2})*")).)*$)
行末までに、\が偶数個連続した直後の"が
奇数個あれば文字列データのカンマと考えます
(?<!\\)(?=(\\{2})*")
の否定はドモルガンの法則を使って
((?<=\\)|(?!(\\{2})*"))
となります