Разница между \r и\n
какая разница между \r
и \n
в регулярном выражении.
Может ли кто-нибудь объяснить мне пример?
Ответы
Ответ 1
\r
- "Возврат каретки" (CR, символ ASCII 13), \n
- "Линейный поток" (LF, символ ASCII 10). В те дни у вас было два символа ASCII в конце каждой строки, чтобы сообщить принтеру, что делать - CR сообщит принтеру вернуться к левому краю бумаги, LF перейдет к следующей строке.
Операционные системы по-прежнему имеют разные соглашения относительно того, как выглядит конец строки - некоторые из них имеют \n\r
, некоторые имеют \n
, некоторые имеют \r\n
.
В Javascript вы в основном имеете дело с \n
- вот как строки обычно переключаются на следующую строку. Однако, в зависимости от того, с какими строками вы работаете, вы можете столкнуться с \r
. Что именно вы делаете?
Ответ 2
Обычно \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
.
Ответ 3
\n
- перевод строки
\r
- возврат каретки
В окнах, например, окончание строк \r\n
. В подавляющем большинстве других операционных систем они \n
.
Ответ 4
\r
и \n
являются цифровыми представлениями о том, как вы переходите к следующей строке на пишущей машинке. \r
является возврат каретки и \n
является newline (также известный как перевод строки). На пишущей машинке, чтобы перейти к началу новой строки, вы должны вернуть карету в крайнее левое положение, а затем подать бумагу вверх по строке.
Unix использует \n
для обозначения новой строки, Mac до использования OS9 \r
, а Windows использует \r\n
.
Ответ 5
\n
→ Для новой строки
\r
→ Возврат каретки