DOTALL 修饰符

一个正则表达式模式,其中 DOTALL 修饰符(用 s 表示的大多数正则表达式)改变了 . 的行为,使其能够匹配换行符(LF):

/cat (.*?) dog/s

这个 Perl 风格的正则表达式将匹配 cat fled from\na dog 捕获 fled from\na 的字符串到组 1 中。

内联版本:(?s)(例如 (?s)cat (.*?) dog

注意 :在 Ruby 中,DOTALL 修饰符等效于 mRegexp::MULTILINE 修饰符 (例如/a.*b/m)。

注意 :JavaScript 不提供 DOTALL 修饰符,因此永远不允许 . 匹配换行符。为了达到同样的效果,需要一个解决方法,例如用一个全能字符类替换所有的 .,如 [\S\s],或者一个不是什么字符类 [^](但是,这个结构将被所有其他引擎视为错误) ,因此不便携)。