Есть регулярное выражение (\<(/?[^>]+)>), которое оставляет HTML-тэги. Как наоборот удалить все тэги, оставив только текст?
Ответ
Так собственно её и можно использовать для чистки тегов, скормив в sub
В Python:
>>> import re
>>> re.sub(r'(\<(/?[^>]+)>)', '', 'Текст с
тегами')
'Текст с тегами'
В JavaScript:
>>> console.log('Текст с
тегами'.replace(/(\<(\/?[^>]+)>)/g, ''))
"Текст с тегами"
Только надо обязательно помнить, что никакое регулярное выражение не сможет правильно обработать сломанный html:
>>> line = '
>>>2 + 3 < 6
True
>> re.sub(r'(\<(/?[^>]+)>)', '', line)
' >>>2 + 3 True тарий -->И для такого дела лучше применять полноценные html-парсеры, а регулярки к html-коду не подпускать вообще
True
Комментариев нет:
Отправить комментарий