Разница между \r и \n
В чем разница между \r
а также \n
в регулярном выражении.
Может кто-нибудь объяснить мне на примере?
5 ответов
\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]
соответствует 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
возврат каретки
В окнах, например, окончания строк \r\n
, В подавляющем большинстве других операционных систем они \n
,
\r
а также \n
являются цифровыми представлениями о том, как вы переходите к следующей строке на пишущей машинке. \r
это возврат каретки и \n
является новой строкой (также известной как перевод строки). На пишущей машинке, чтобы перейти к началу новой строки, вы должны вернуть каретку в крайнее левое положение, а затем подать бумагу вверх по линии.
Unix использует \n
означать новую строку, Macs до OS9 используется \r
и Windows использует \r\n
,