В чем разница между \r
и \n
в регулярном выражении?
Может кто-нибудь объяснить это на примере?
5 ответов
\r
- это «Возврат каретки» (CR, ASCII-символ 13), \n
- «Перевод строки» (LF, ASCII-символ 10). В те дни у вас было два символа ASCII в конце каждой строки, чтобы указать принтеру, что делать - CR велел принтеру вернуться к левому краю бумаги, а LF переходил на следующую строку.
Операционные системы по-прежнему имеют различные соглашения относительно того, как выглядит конец строки - у некоторых из них есть \n\r
, у некоторых - \n
, у некоторых - \r\n
.
В Javascript вы в основном имеете дело с \n
- именно так строки обычно переключаются на следующую строку. Однако, в зависимости от того, с какими строками вы работаете, вы также можете столкнуться с \r
. Что именно ты делаешь?
\n
переводится на новую строку
\r
возврат каретки
Например, в окнах окончания строк \r\n
. В подавляющем большинстве других операционных систем они являются \n
.
\r
и \n
являются цифровыми представлениями о том, как вы переходите к следующей строке на пишущей машинке. \r
является возвратом каретки, а \n
является newline (также известный как перевод строки). На пишущей машинке, чтобы перейти к началу новой строки, вы должны вернуть каретку в крайнее левое положение, а затем подать бумагу вверх на строку.
Unix использует \n
для обозначения новой строки, Mac до OS9 использовали \r
, а Windows использует \r\n
.
Обычно \r
представляет символ возврата каретки (ASCII 0x0d
), а \n
- символ перевода строки (ASCII 0x0a
). Эта страница содержит список всех специальных символов, которые приведены здесь для полноты:
\f
соответствует фиду.\r
соответствует возврату каретки.\n
соответствует переводу строки.\t
соответствует горизонтальной табуляции.\v
соответствует вертикальной табуляции.\0
соответствуетNUL
символу.[\b]
соответствует backspace.\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
-> Для возврата каретки
Похожие вопросы
Связанные вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.