質問: 野菜(トマト,タマネギ,ニラ),肉,水,魚(ブリ,マグロ,アジ,トビウオ),炭水化物 この文字列から「野菜(トマト,タマネギ,ニラ)」と「魚(ブリ,マグロ,アジ,トビウオ)」を正規表現で抜き出したい (.*\(.*\))でやると行頭から最後の)までになっちゃうし(.*?\(.*?\))だと最初のやつしか取れないし・・・ 得意ではないなりに、なんとなく?!とか?=>とかの否定のルールを使えばできそうな気はするのですが考え方がよくわかりません。 どうやって書けば抜けるのか教えて下さい。 正解だけでも大変ありがたいですが、考え方のヒントもいただけるとなお嬉しいです。 よろしくお願いします。
回答: 後読みとかしてよいのであればこうですが、どうでしょう? (?<=^|,)[^,]+?\(.+?\)