\ r和\n之间的区别

18 javascript regex

正则表达式\r\n正则表达式之间有什么区别.
有人可以用一个例子向我解释一下吗?

Ebo*_*ike 34

\r是"回车"(CR,ASCII字符13),\n是"换行"(LF,ASCII字符10).在这些日子里,你在每行末尾都有两个ASCII字符告诉打印机要做什么 - CR会告诉打印机返回到纸张的左边缘,LF会前进到下一行.

操作系统对于线的末端看起来仍然有不同的约定 - 其中一些有\n\r,有些有\n,有些有\r\n.

在Javascript中,您主要处理\n- 这是字符串通常切换到下一行的方式.但是,根据您使用的字符串,您可能也会遇到\r.你究竟在做什么?

  • 我不知道任何指定`\n\r``作为新行功能的平台或协议; OS X之前的MAC OS上的本机行分隔符仅为"\ r \". (3认同)

Car*_*rum 15

通常\r表示回车符(ASCII 0x0d),并且\n是换行符(ASCII 0x0a). 此页面包含所有特殊字符的列表,此处引用的是完整性:

  • \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.

  • 想想一个旧的手动类型写入器...回车将当前"位置"移回到行的开头. (3认同)
  • @Avinash,@ nonnb是正确的 - 回车和换行是纸质终端时代的条款; 回车字符将打印头移回列零,并且换行使纸卷前进一行. (2认同)

Jho*_*ong 8

\n 是换行的

\r 是回车

例如,在窗口中,行结尾是\r\n.在绝大多数其他操作系统中,它们都是\n.

  • 曾经只有一台Mac OS使用了`\ r`,IIRC. (3认同)

Dan*_*uis 5

\r并且\n是您在打字机上前进到下一行的方式的数字表示。\r是一个回车\n是一个新行(也称为换行)。在打字机上,要转到新行的开头,您需要将笔架返回到最左边的位置,然后将纸张向上送出一行。

Unix 用于\n表示换行,OS9 之前的 Mac 使用\r,Windows 使用\r\n.