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 不支持锚)。 **