>>841
鬼車用の正規表現でよければどうぞ。この正規表現は式全体にマッチします。

(?!(?>\(+\g<項>\)+)(?!\g<演>)|(?>\g<項>)(?!\g<演>))(?<!\(|\g<演>)(?:\g<項>|\g<カ>)(?>(?:\g<演>(?:\g<項>|\g<カ>))*)
(?!\g<演>|\))(?<項>[a-z\d]+){0}(?<演>[\+\*]){0}(?<カ>\((?:\g<項>|\g<カ>)(?:\g<演>(?:\g<項>|\g<カ>))*\)){0}

長いから改行入れてます。改行を消して繋げて。
項に使える文字は[a-z\d]で指定しています、使用環境に合わせて書き換えて。

名前の意味
<項> = 1つの項
<演> = 演算子
<カ> = 開始カッコから閉じカッコまでの一対のカッコにマッチ。入れ子に対応しており、中にカッコが入っていても
開始カッコに対応する閉じカッコまでマッチします。

鬼車のオプションはONIG_SYNTAX_PERLで。大文字小文字の区別は無しで。