Ответ 1
Вы можете использовать один из многих HTML текстовые конвертеры, использовать Perl регулярное выражение, если это возможно <.+?>
Или, если это необходимо sed
использовать <[^>]*>
sed -e 's/<[^>]*>//g' file.html
Если места для ошибок нет, используйте вместо этого HTML-парсер. Например, когда элемент разбит на две строки
<div
>Lorem ipsum</div>
это регулярное выражение не будет работать.
Это регулярное выражение состоит из трех частей <
, [^>]*
, >
- поиск открытия
<
- за которым следует ноль или более символов
*
, которые не являются закрывающими>
[...]
это класс символов, когда он начинается с^
искать символы не в классе - и, наконец, искать закрытие
>
Более простое регулярное выражение <.*>
будет работать, потому что оно ищет самое длинное возможное совпадение, т.е. последнее закрытие >
во входной строке. Например, когда у вас есть более одного тега в строке ввода
<name>Olaf</name> answers questions.
приведет к
отвечает на вопросы.
вместо
Олаф отвечает на вопросы.
См. Также " Повторение со звездами и плюсами", особенно в разделе "Остерегайтесь жадности"! и далее, для подробного объяснения.