用于在 JavaScript 中提取两个标签之间的多行文本的正则表达式
您在使用正则表达式模式从 HTML 字符串中提取文本时面临挑战。具体来说,当 HTML 中存在换行符时,多行标志 (/m) 似乎不起作用。
要解决此问题,您需要使用“/.../s”修饰符,通常称为“dotall”修饰符。然而,需要注意的是,这个修饰符在普通 JavaScript 中不存在。
没有 Dotall 修饰符的解决方法:
如果您不能在中使用 /s 标志您当前的 JavaScript 环境,请考虑使用包含空格和非空格字符的字符类的解决方法:
[\s\S]
在您的情况下,正则表达式将如下所示:
/<div>
现代 JavaScript:Dotall 修饰符支持
在支持 ES2018 的现代 JavaScript 环境中,您可以直接使用 " /s" (dotAll) 标志。此标志使正则表达式中的点 (.) 字符也匹配换行符。
因此,可以使用 /s 标志重写原始正则表达式:
/<div>
通过使用 dotall 修饰符 (/s) 或其解决方法 ([\s\S]),您可以确保您的正则表达式模式成功匹配指定 HTML 标记之间的多行文本,即使其中存在换行符文本。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3