Регулярное выражение для извлечения многострочного текста между двумя тегами в JavaScript
Вы столкнулись с проблемами при извлечении текста из строки HTML с использованием шаблона регулярного выражения . В частности, многострочный флаг (/m), похоже, не работает, когда в HTML есть символы новой строки.
Чтобы решить эту проблему, вам нужно использовать модификатор «/.../s», обычно называемый модификатором «dotall». Однако важно отметить, что этот модификатор не существует в стандартном JavaScript.
Обходные пути без модификатора Dotall:
Если вы не можете использовать флаг /s в в вашей текущей среде JavaScript рассмотрите обходной путь, используя класс символов, включающий как пробельные, так и непробельные символы. символы:
[\s\S]
В вашем случае регулярное выражение будет выглядеть так:
/<div>
Современный JavaScript: поддержка модификаторов Dotall
В современных средах JavaScript, поддерживающих ES2018, вы можете напрямую использовать Флаг «/s» (dotAll). Этот флаг заставляет символ точки (.) в регулярном выражении также соответствовать символам новой строки.
Поэтому исходное регулярное выражение можно переписать с использованием флага /s:
/<div>
Используя модификатор dotall (/s) или его обходной путь ([\s\S]), вы можете гарантировать, что ваш шаблон регулярного выражения успешно сопоставляет многострочный текст между указанные теги HTML, даже если в этом тексте есть символы новой строки.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3