2017-01-16 5 views
-4

В коде perl есть строка $line =~ s/\^M $//. Что означает регулярное выражение s/\^M $//?Perl Regular Подробности выражения

+0

Похоже на попытку удалить^M (Control-M, также известный как возврат каретки, \ r) с конца строки, то есть преобразование окончаний строки DOS в конец строки Unix. Но уверены ли вы, что^M не отображает артефакты вашего терминала или редактора? Кроме того, лишний символ пространства выглядит так, будто он мешает этой цели. – Jens

ответ

1

Это означает, что если $line содержит точную подстрока ^M (хет-эмм-пространство) в конце затем удалить его

Причиной начальной обратной косой черты, что ^ имеет особое значение в регулярном выражении и обратной косой черты очереди от особого смысла и делает его буквально соответствовать

в $ является якорем, чтобы заставить матч в конце линии

Часто^M буквальные символы конца в файлах при копировании паста ненадо используется

+0

Спасибо, что так много ... !!! –

+1

*** «Часто буквы буква«^М »заканчиваются в файлах, когда скопировать пасту неправильно использовать» *** Это отличная точка. – Borodin

Смежные вопросы