この正規表現でいくつかの問題が発生しました。
/\(\((((?>[^\(\(\)\)]+)|(?R))*)\)\)/x
テキストを「スピン」するために使用されます。「((We ((love | like)) this shirt(size xl)))」のような文がある場合、彼はこの権利を行使できません。文末に 3 つの括弧があるため (最後の最後の 3 つの括弧の最初のものがテキスト自体に属しているため)。
動作方法: 正規表現は、最初に 3 つ以上の括弧がある場合は最初の 2 つの括弧を取得する必要があり、最後に 3 つ以上の括弧がある場合は最後の 2 つを終了する必要があります。それは可能ですか?
マルチレベルで非常にうまく機能するようになったため、「((this((shirt|sweater))))」のようなものがうまく機能することに注意してください (最後の 4 つの括弧を参照してください)。したがって、テキストに属する括弧が、回転の開始括弧の直後に開始するか、終了括弧の直前で終了する場合にのみ、問題が発生します。