javascript正規表現の「.」は改行文字にマッチしない

https://qiita.com/xtetsuji/items/1da6e34eb907088ed256

var lines = "1行目\n2行目\n3行目\n4行目\n";

// ドットは改行にマッチしないので、これはマッチ無し
lines.match(/2行.*3行/); // → null

// ES2018以降はs修飾子を使える
lines.match(/2行.*3行/s); // → Array [ "2行目\n3行" ]

// ES2018以前はこれで代替え
lines.match(/2行[\s\S]*3行/); // → Array [ "2行目\n3行" ]