[正規表現] 「n 回目のコンマまで」や「n 回目のコンマ以降」を抽出

n 回目のコンマを基準として、それ以前、あるいはそれ以降を抽出する正規表現を考えてみた。

(1)4回目のコンマより後を残す

aaaa,bbbb,cccc,dddd,eeee,ffff,gggg,hhhh
aaaa,bbbb,cccc,dddd,eeee,ffff,gggg,hhhh
aaaa,bbbb,cccc,dddd,eeee,ffff,gggg,hhhh
aaaa,bbbb,cccc,dddd,eeee,ffff,gggg,hhhh
aaaa,bbbb,cccc,dddd,eeee,ffff,gggg,hhhh

eeee,ffff,gggg,hhhh
eeee,ffff,gggg,hhhh
eeee,ffff,gggg,hhhh
eeee,ffff,gggg,hhhh
eeee,ffff,gggg,hhhh

検索:^([^,]+,){4}
置換:(空白)

(2)4回目のコンマ以前を残す

aaaa,bbbb,cccc,dddd,eeee,ffff,gggg,hhhh
aaaa,bbbb,cccc,dddd,eeee,ffff,gggg,hhhh
aaaa,bbbb,cccc,dddd,eeee,ffff,gggg,hhhh
aaaa,bbbb,cccc,dddd,eeee,ffff,gggg,hhhh
aaaa,bbbb,cccc,dddd,eeee,ffff,gggg,hhhh

aaaa,bbbb,cccc,dddd,
aaaa,bbbb,cccc,dddd,
aaaa,bbbb,cccc,dddd,
aaaa,bbbb,cccc,dddd,
aaaa,bbbb,cccc,dddd,

検索:(^([^,]+,){4})(.)*
置換:$1

ただし、この方法だと ,, のようにコンマが連続する場合正しく抽出できない。その場合は、一旦コンマの間に適当な文字やスペースを挿入した後、上記正規表現を実行すればいい。

参考:
正規表現での置換ついてn回目に出現する「,」を「,“JAPA… – Yahoo!知恵袋
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1097836370