пытаюсь написать регулярное выражение для вставки пробела в определенном месте. Читаю HTML файл и пытается вставить пробел между #WORD<tag
так было бы #WORD <
регулярные выражения python в поиске и замене
где WORD является переменной, может быть что угодно, до тех пор, как сво реальное слово (строка)
<p style="text-align: left;" data-redator="true"> #deeds</p><p style="text-align: left;" data-redator="true"></p><p style="text-align: left;" data-redator="true">this is it #$%$%$ dkfj dlkjf dklfj </p>
в Приведенный выше пример, я хочу, чтобы вставить пробел в #deeds</p>
так было бы #deeds </p>
Я пытался использовать строку замены и re.sub, но я не знаю, как заменить при сохранении переменной между ..
любой совет?
обновление
Я попытался прилагаемым в одном из ответов, и она работает хорошо, но проблема в том, что он не будет работать на Юникоде. Я пытался сделать следующую корректировку, она поднимает английские слова, а не символы Юникода, как арабский
re.sub(ur'(#\w+)(<)', ur'\1 \2', c, flags=re.UNICODE)
Ниже приведен пример HTML
<p style="text-align: left;" data-redator="true"> #$^$%^</p><p style="text-align: left;" data-redator="true"></p><p style="text-align: left;" data-redator="true"> #sdkjf #الكويت</p><p style="text-align: left;" data-redator="true"></p><p style="text-align: left;" data-redator="true"></p>
какие-либо предложения? Я использовал флаг re.UNICODE и попытался использовать ur перед регулярными выражениями для синтаксического анализа юникода .. но не повезло
Покажите нам, что вы пробовали, не просто опишите это. Мы не можем сказать, что не так с вашим кодом, если нам нужно угадать, что такое ваш код. – abarnert
Между тем, попытка проанализировать HTML с регулярными выражениями, как правило, плохая идея, потому что HTML не является обычным языком. Для быстрых и грязных хаков иногда может быть полезно, но представьте, что вы запускаете свой код на этой странице. Как он будет знать реальные «# дела» из того, что находится внутри вашего примера, не имея контекста и структуры страницы? – abarnert