您正在寻找
/.../s修饰符,也称为 dotall 修饰符。它将强制点
.也匹配换行符,默认情况下 不这样做 。
坏消息是它 在Javascript中不存在 (自ES2018起,请参见下文)
。好消息是,您可以通过一起使用字符类(例如
s)及其否定符()来解决它
S,如下所示:
[sS]
因此,在您的情况下,正则表达式将变为:
/<div >[sS]*<h1>([^<]+?)</h1>/i
从ES2018开始,Javascript支持
s(dotAll)标志,因此在现代环境中,您的正则表达式可以像您编写时一样,但
s结尾处带有标志(而不是
m;
m更改方式
^和
$工作方式,而不是
.):
/<div >.*<h1>([^<]+?)</h1>/is



