使用 JavaScript 正则表达式从 HTML 中提取多行文本
当尝试使用 JavaScript 中的正则表达式从 HTML 检索字符串时,这一点至关重要考虑修饰符的兼容性。在您的场景中,您遇到了多行标志 (/m) 的问题。
Dotall 修饰符和 JavaScript
该问题源于 JavaScript 不支持以下事实:本质上支持 /.../s 修饰符,也称为“dotall”修饰符。此修饰符强制点 (.) 字符匹配换行符,而它通常不会匹配换行符。
制定解决方法:字符类
避免缺少JavaScript 中的 /s 修饰符,可以使用字符类 () 及其否定 (S)。这种方法可以有效匹配任何字符,包括换行符。
更新的正则表达式语法
考虑到这一点,您的正则表达式应修改如下:
/<div>
ES6 支持
值得请注意,截至 ES2018,JavaScript 确实支持“/s”(dotAll)标志。这意味着在更现代的环境中,您可以使用带有“/s”标志而不是“/m”标志的原始正则表达式语法:
/<div>
以上是如何使用 JavaScript 正则表达式从 HTML 中提取多行文本?的详细内容。更多信息请关注PHP中文网其他相关文章!