«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как извлечь многострочный текст из HTML с помощью JavaScript Regex?

Как извлечь многострочный текст из HTML с помощью JavaScript Regex?

Опубликовано 8 ноября 2024 г.
Просматривать:763

How to Extract Multi-Line Text from HTML with JavaScript Regex?

Извлечение многострочного текста из HTML с помощью JavaScript Regex

При попытке получить строки из HTML с помощью регулярного выражения в JavaScript это очень важно учитывать совместимость модификаторов. В вашем сценарии вы столкнулись с проблемами с многострочным флагом (/m).

Модификатор Dotall и JavaScript

Проблема связана с тем, что JavaScript не поддерживает по своей сути поддерживают модификатор /.../s, также известный как модификатор «dotall». Этот модификатор заставляет символ точки (.) соответствовать символу новой строки, чего обычно не происходит.

Создание обходного пути: класс символов

Чтобы обойти отсутствие /s в JavaScript, вы можете использовать класс символов () вместе с его отрицанием (\S). Этот подход эффективно соответствует любому символу, включая символы новой строки.

Обновленный синтаксис регулярных выражений

Принимая это во внимание, ваше регулярное выражение следует изменить следующим образом:

/<div>

Поддержка ES6

Стоит отметить, что начиная с ES2018 JavaScript поддерживает флаг «/s» (dotAll). Это означает, что в более современных средах вы можете использовать исходный синтаксис регулярного выражения с флагом «/s» вместо флага «/m»:

/<div>
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3