\r
和\n
在正则表达式中有什么区别?
能否用例子解释一下?
\r
代表回车(CR,ASCII字符13),\n
代表换行(LF,ASCII字符10)。在早期的打印机中,每一行末尾都有两个ASCII字符来告诉打印机如何操作 - CR会让打印机回到纸张的左边缘,LF会移到下一行。
操作系统仍然具有不同的行尾约定 - 有些使用\n\r
,有些使用\n
,有些使用\r\n
。
在JavaScript中,您主要处理\n
- 这是字符串通常切换到下一行的方式。但是,根据您正在处理的字符串,您可能也会遇到\r
。
\r
代表回车字符(ASCII 0x0d
),而\n
是换行符(ASCII 0x0a
)。此页面列出了所有特殊字符的列表,为了完整起见,在此进行引用:
\f
匹配换页符。\r
匹配回车符。\n
匹配换行符。\t
匹配水平制表符。\v
匹配垂直制表符。\0
匹配NUL
字符。[\b]
匹配退格符。\s
匹配空白字符(等同于[\f\n\r\t\v\u00A0\u2028\u2029]
)。\S
匹配任何非空白字符(等同于[^\f\n\r\t\v\u00A0\u2028\u2029]
)。\w
匹配任何字母数字字符(包括下划线,等同于[a-zA-Z0-9_]
)。\W
匹配任何非字母数字字符(等同于[^a-zA-Z0-9_]
)。\d
匹配任何数字(等同于[0-9]
)。\D
匹配任何非数字(等同于[^0-9]
)。\b
匹配单词边界(单词和空格之间的位置)。\B
匹配非单词边界(等同于[^\b]
)。\cX
匹配控制字符。例如:\cm
匹配control-M
。\xhh
匹配两个十六进制代码为hh
的字符。\uhhhh
匹配四个十六进制代码为hhhh
的 Unicode 字符。
\0
不属于那里。\{number}
只是一个八进制转义序列。 - Eli Grey\n
代表换行。
\r
代表回车。
例如,在Windows中,换行符是\r\n
。在绝大多数其他操作系统中,它们是\n
。
\r
,这是很久以前的事情了。 - Andrzej Doyle\n
--> 表示换行
\r
--> 表示回车
\n\r
指定为换行符号;在OS X之前的MAC OS上,本机行分隔符仅为\r
。 - Alan Moore\n\r
(LFCR
,0x0A 0x0D
) 作为行分隔符的系统吗?说来听听! - Alan Moore