使用 JavaScript 正则表达式从 HTML 中提取多行文本
当尝试使用 JavaScript 中的正则表达式从 HTML 检索字符串时,这一点至关重要考虑修饰符的兼容性。在您的场景中,您遇到了多行标志 (/m) 的问题。
Dotall 修饰符和 JavaScript
该问题源于 JavaScript 不支持以下事实:本质上支持 /.../s 修饰符,也称为“dotall”修饰符。此修饰符强制点 (.) 字符匹配换行符,但通常不会。
制定解决方法:字符类
要避免缺少JavaScript 中的 /s 修饰符,可以使用字符类 () 及其否定 (\S)。此方法有效匹配任何字符,包括换行符。
更新的正则表达式语法
考虑到这一点,您的正则表达式应修改如下:
/<div>
ES6 支持
值得注意从 ES2018 开始,JavaScript 确实支持“/s”(dotAll) 标志。这意味着在更现代的环境中,您可以使用带有“/s”标志而不是“/m”标志的原始正则表达式语法:
/<div>
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3