RegEx для соответствия тегу стиля - PullRequest
2 голосов
/ 30 апреля 2019

У меня есть HTML-код, который содержит код CSS внутри тега под тегом заголовка.Я хочу использовать регулярные выражения для извлечения всего текста в HTML, только чистый текст (между тегами HTML).Я пытался,

console.log(HTML_TEXT.replace(/(<([^>]+)>)/g, ""))

, которые заменяют все, что находится между <>, пустым символом, проблема в том, что код CSS внутри тега STYLE все еще там, поэтому я хочу знать, как написать регулярное выражение для удаления CSSкод внутри тегов.

Как мне решить эту проблему?

1 Ответ

1 голос
/ 30 апреля 2019

Этот RegEx может помочь вам сделать это:

(\>)(.+)(<\/style>)
  • Он создает правую границу в группе захвата: (<\/style>)
  • Этоимеет левую границу в другой группе захвата: (\>), к которой вы можете добавить дополнительные границы, если хотите / нуждаетесь
  • Затем у него есть безграничная средняя группа захвата, (.+), гдеваша цель находится, и вы можете вызвать ее с помощью $2 и заменить ее пустой строкой или иным образом.

Я не уверен, не проверял, но ваш код можетвыглядит примерно так:

console.log(HTML_TEXT.replace(/(\>)(.+)(<\/style>)/g, '\\$1\\$3'))

В этом посте объясняется, как выполнить замену строки в JavaScript.

enter image description here

Редактировать:

На основании комментария этот RegEx может помочь вам отфильтровать теги, используя$1:

(\<style type=\"text\/css\"\>)([\s\S]*)(\<\/style\>)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...