какая разница между \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
→ Возврат каретки