正则表达式中\r
和之间有什么区别\n
?
有人可以用一个例子来解释吗?
正则表达式中\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
将 Unicode 字符与四个十六进制代码字符匹配hhhh
。
\n
是换行
\r
是回车
例如,在 Windows 中,行结尾是\r\n
. 在绝大多数其他操作系统中,它们是\n
.
\n
--> 换新行
\r
--> 对于回车