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],或者一個不是什麼字元類 [^](但是,這個結構將被所有其他引擎視為錯誤) ,因此不便攜)。