Skip to content

Latest commit

 

History

History
26 lines (16 loc) · 1.56 KB

003-非打印字符.md

File metadata and controls

26 lines (16 loc) · 1.56 KB

你可以在正则表达式的特殊字符匹配非打印字符。

  • \t:匹配制表符
  • \r:匹配回车
  • \n:匹配换行
  • \a:匹配响铃
  • \e:匹配esc键
  • \f:匹配分页符

在windows中使用\r\n在结束一行,而UNIX中使用\n

3.1 行终结符(Line Breaks)

\R是一个特殊的转义符,它将匹配所有的行终结符,也包括Unicode行终结符。相对于\r或者\n\R比较特殊的一点是它会把CRLF对作为一个整体去匹配,而不会匹配把CR和LF分开匹配(作者译:如果他们同时出现的话)。当\R在一个CRLF对之前出现的话,单个\R将匹配整个CRLF对。在对一个CRLF进行匹配的时候,\R不会向前回溯从而匹配到CR。\R可以匹配到单独的CR或是单独的LF,但是\R{2}或者\R\R不会匹配到一个CRLF对,因为第一\R已经匹配到了整个CRLF对,另一个\R就不能和任何字符匹配。

但是在一些语言中,\R的行为并不遵循这个规范。例如在java9中\R\R可以匹配一个CRLF对,在Perl中\R{2}可以匹配一个CRLF对。

\R只能向前搜索,并且匹配一个完整的CRLF对。\r\R也可以匹配到一个CRLF对,这是因为\r匹配到了CR,而\R匹配了LF,这一规则在所有的引擎中都是一致的。

如果文章出现错误,请给我提Issues - - Github地址

原文