MULTILINE 修飾符
另一個例子是 MULTILINE 修飾符(通常用 m
標誌表示(不是 Oniguruma(例如 Ruby),使用 m
表示 DOTALL 修飾符)),使^
和 $
錨點匹配一行的開頭/結尾,而不是開頭/結尾整個字串。
/^My Line \d+$/gm
將找到以 My Line
開頭的所有行,然後包含一個空格和 1+位到行尾。
內聯版本:(?m)
(例如 (?m)^My Line \d+$
)
注意 :在 Oniguruma 中(例如在 Ruby 中),以及幾乎所有支援 regexp 的文字編輯器中,^
和 $
錨點預設表示行開始/結束位置。你需要使用\A
來定義整個文件/字串 start 和\z
來表示文件/字串結尾。\Z
和\z
之間的區別在於前者可以在字串末尾的最終換行(LF)符號之前匹配(例如/\Astring\Z/
將在 string\n
中找到匹配)(除了 Python,其中\Z
行為等於\z
和\z
不支援錨)。 **