Here is an easy way using re.split
:
import re
s = '(twoplusthree)plusfour'
re.split('(plus)', s)
Output:
['(two', 'plus', 'three)', 'plus', 'four']
re.split
is very similar to string.split
except that instead of a literal delimiter you pass a regex pattern. The trick here is to put () around the pattern so it gets extracted as a group.
Bear in mind that you'll have empty strings if there are two consecutive occurrencies of the delimiter pattern