c# 设置Regex Multiline无效问题
设置RegexOptions.Multiline后正则中$可匹配每一行的结束符,但因为windows系统使用\r\n作为结束符,而 Multiline 是能匹配\n,所以就会导致c#或者说windows开发下会导致Multiline失效.
所以在写的时候把 $ 写成 \r?$ 就可以了.
正则表达式的选项 - .NET | Microsoft Learn
默认情况下,$ 仅在输入字符串的末尾符合条件。 如果指定了 RegexOptions.Multiline 选项,它将在换行符 (\n) 或输入字符串的末尾处符合条件。
$ 在这两种情况下都无法识别回车/换行符组合 (\r\n)。 $ 始终忽略任何回车 (\r)。 若要使用 \r\n 或 \n 结束RegexOptions.Multiline匹配,请使用子表达式 \r?$,而不只是 $。 请注意,这将构成匹配的 \r 部分。