/ / розділити рядки utf8 на частини з регулярним виразом - python, regex, utf-8

розділіть рядки utf8 на частини з regexp - python, regex, utf-8

Мені потрібно знайти в текстових рядках, які починаються з =? і закінчується ?= і перекласти їх. Я закінчив таким виразом:

re.sub("=?[w?-/=+:;_,[]()<>]+?=", decode_match, string)

Це працює в 95% випадків, але не вдається зі схожими рядками:

=?utf-8asdfaDDS23=eFF?=-=?utf-8?eadf-,=?=

Хтось може спробувати допомогти?

Відповіді:

0 для відповіді № 1

Вам потрібен той випадок, де у вас є? без відповідності знаку? = у вашому шаблоні

"=?(?:[^?]|?[^=])+?="

0 для відповіді № 2

Чи str.split("=?") зробити трюк?


0 для відповіді № 3

чому ти не пишеш?:

re.sub("=?.+??=", decode_match, string)

Цей регулярний вираз буде збігатися два рази в "=? Utf-8asdfaDDS23 = eFF? = - =? Utf-8? Eadf -, =? ="

"=?utf-8asdfaDDS23=eFF?="

"=?utf-8?eadf-,=?="

Це те, що ти хочеш? Викликаючи невдачу, ви повинні подавати її з більшою точністю.