Обновление: эта проблема была решена разработчиком в commit be893e9
.
Если вы столкнулись с той же проблемой, обновите модуль regex
.
Вам нужна версия 2017.04.23
или выше.
Как указано в этом ответе Мне нужно это регулярное выражение:
(?i)\b((\w{1,3})(-|\.{2,10})[\t ]?)+(\2\w{2,})
тоже работаю с модулем regex
...
import re # standard library
import regex # https://pypi.python.org/pypi/regex/
content = '"Erm....yes. T..T...Thank you for that."'
pattern = r"(?i)\b((\w{1,3})(-|\.{2,10})[\t ]?)+(\2\w{2,})"
substitute = r"\2-\4"
print(re.sub(pattern, substitute, content))
print(regex.sub(pattern, substitute, content))
Выход:
"Erm....yes. T-Thank you for that."
"-yes. T..T...Thank you for that."
В: Как мне написать это регулярное выражение, чтобы модуль regex
реагировал на него так же, как модуль re
?
Использование модуля re
не вариант, так как мне требуются оглядки с динамической длины.
Для пояснения: было бы неплохо, если бы регулярное выражение работало с обоими модулями, но, в конце концов, оно мне нужно только для regex