正则表达式中\r
和\n
之间的区别是什么
有人可以用一个例子向我解释一下吗?
答案 0 :(得分:29)
\r
是“回车”(CR,ASCII字符13),\n
是“换行”(LF,ASCII字符10)。在这些日子里,你在每一行的末尾都有两个ASCII字符告诉打印机要做什么 - CR会告诉打印机返回到纸张的左边缘,LF会前进到下一行。
操作系统对于行的结尾仍然有不同的约定 - 其中一些有\n\r
,有些有\n
,有些有\r\n
。
在Javascript中,您主要处理\n
- 这是字符串通常切换到下一行的方式。但是,根据您使用的字符串,您可能也会遇到\r
。你究竟在做什么?
答案 1 :(得分:12)
通常\r
表示回车符(ASCII 0x0d
),\n
是换行符(ASCII 0x0a
)。 This page包含所有特殊字符的列表,此处引用的是完整性:
\f
匹配form-feed。\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
将Unicode字符与四个字符匹配 十六进制代码hhhh
。
答案 2 :(得分:5)
\n
是换行
\r
是回车
例如,在Windows中,行结尾为\r\n
。在绝大多数其他操作系统中,它们是\n
。
答案 3 :(得分:4)
\r
和\n
是您前往打字机下一行的方式的数字表示。 \r
是carriage return,\n
是newline(也称为换行符)。在打字机上,要转到新行的开头,您将将>>托架返回到最左侧位置,然后将纸张向上移动一行。
Unix使用\n
表示新行,OS9使用前的Mac \r
,Windows使用\r\n
。
答案 4 :(得分:1)
\n
- >换新行
\r
- >回车