据我了解,在正则表达式中,点符号 . 可以匹配几乎所有字符。那么,如果要匹配包括换行符在内的任何字符,为什么 [.\n]* 不起作用呢?
据我了解,在正则表达式中,点符号 . 可以匹配几乎所有字符。那么,如果要匹配包括换行符在内的任何字符,为什么 [.\n]* 不起作用呢?
.
定义为除换行符之外的任何字符,这是因为实现通常每次检查一行(例如 grep
),或者因为这对现有工具的兼容性有意义(许多现代编程语言等)。 .
也匹配换行符。(.| \n)*
,但这仍然非常取决于您使用的正则表达式工具; 它可能不会识别转义代码 \ n
表示换行符。你应该使用
.*\n -- this one if line can be empty
或者
.+\n -- this one if line must include at least 1 character other that new line
\r\n
(主要用于Windows系统)。
regex
标签信息页面,如果需要更多帮助,请按照那里的指导方针提出新问题。另请参见[帮助],也许特别是有关发布[mcve]的说明。 - tripleee