Ваше регулярное выражение неверно.А из комментариев вы добавили требование, чтобы к строке delimiters
не прикасались.
Что нам нужно сделать, это обработать входную строку и преобразовать ее в правильное регулярное выражение, котороеможет использоваться split()
.Вот как:
# need to enclose regex in [], we want to split on any of
# the chars; also some of the chars need to be escaped
delimiters = ' \t,;.?!-:@[](){}_*/'
regex = delimiters.replace(']', '\]').replace('-', '\-')
regex = r'[{}]+'.format(regex)
Результат, как и ожидалось:
txt = 'agadsfa_(2asdf_sdfsaf)asfsadf[adsf_klnalfk;jn234kmafs)adfs,nlnawr23'
re.split(regex, txt)
=> ['agadsfa', '2asdf', 'sdfsaf', 'asfsadf', 'adsf', 'klnalfk', 'jn234kmafs', 'adfs', 'nlnawr23']