其实这两个是没有关系的,开启多行模式(?m)^d+$
开启单行模式: . 可以匹配任意字符(包括换行符)
关闭单行模式: . 只有匹配 非换行 的其它任意字符(.可匹配 ,即除了不匹配 外的所有字符。)
单行模式 影响 . 的匹配
多行模式 影响 ^ 和 $ 的匹配
多行模式中必定包含 ^ 或 $ 或同时包含,否则即使加了 m,也没有任何意义
单行模式和多行模式是八杆子打不着的两个概念,只是因为正则发展的历史原因,造就了这样两个MS互斥的概念