Регулярные выражения, как заменить на себя же
import re
print(re.sub(r'#.{1,}?#',
r',,,,',
r'Эта строка #test# написана 19.01.2018, #x# а могла бы и 01.09.2017'))
Пытаюсь заменить все #text# на <>#text#</>
Для этого я написал регулярное выражение #.{1,}?#. Оно работает и в данном коде заменяет все совпадения на ,,,, . а как можно заменить на "<>"+то что нашло +"</>"?
Ответы (1 шт):
Автор решения: Wiktor Stribiżew
→ Ссылка
"То, что нашло" можно задать с помощью обратной ссылки на целое совпадение, \g<0>:
re.sub(r'#[^#]+#', r'<>\g<0></>', text)
См. пример работы регулярного выражения.
import re
print(
re.sub(r'#[^#]+#',
r'<>\g<0></>',
r'Эта строка #test# написана 19.01.2018, #x# а могла бы и 01.09.2017')
)
# => Эта строка <>#test#</> написана 19.01.2018, <>#x#</> а могла бы и 01.09.2017