これは私が持っている文字列です(空白を無視します)
a = u'(%o3) (9*t*(7*t*(5*t*(3*t^2-1)/2-2*t)/3-3*(3*t^2-1)2)/4-4\r\n*(5*t*(3*t^2-1)2 \r\n-2*t)\r\n/3)\r\n /5\r\n(%i4) '
次のように分割するにはどうすればよいですか。
b = ['(%o3','(9*t*(7*t*(5*t*(3*t^2-1)/2-2*t)/3-3*(3*t^2-1)2)/4-4\r\n*(5*t*(3*t^2-1)2\r\n-2*t)\r\n/3)\r\n /5','(%i4)' ]
パターン (%o\d+) と (%i\d+) をチェックし、それらが発生した場所で分割するが、パターン自体を失わないようなものです。 a.split( blah) は通常、「何とか」を失います。私の文脈では、「何とか」は重要であり、それを失うことはできません。
パターンが 2 つ以上出現する可能性があるため、(%o\d+) と (%i\d+) およびそれらの間/前後のテキストを分離する必要があります。それを行う最良の方法は何ですか?正規表現がそれを行うことができるかどうか、または分割パラメーターを失わない text.split の既存の変更が行うかどうかはわかりません(存在する場合)