💡
原文中文,约600字,阅读约需2分钟。
📝
内容提要
正则表达式中的 ^ 和 $ 用于匹配行首和行尾。在多行模式下,Go 语言使用 `(?m)` 来实现,但仅支持 LF 换行符,不支持 CRLF 和 CR。对于 Windows 文件中的 CRLF,可以用 `strings.ReplaceAll` 替换。Rust 的正则库也有类似问题。
🎯
关键要点
-
正则表达式中的 ^ 用于匹配行首,$ 用于匹配行尾。
-
在多行模式下,Go 语言使用 (?m) 来实现行首和行尾的匹配。
-
Go 语言的多行匹配仅支持 LF 换行符,不支持 CRLF 和 CR。
-
可以使用 strings.ReplaceAll 替换 Windows 文件中的 CRLF。
-
Rust 的正则库也存在类似的换行符匹配问题。
➡️