Какие байты находит общая новая строка (qr / \ R /)? - PullRequest
2 голосов
/ 07 мая 2011

Какие байты находит Generic new line (qr / \R /)?

Ответы [ 2 ]

7 голосов
/ 07 мая 2011

Чтобы найти документы Perl, выясните, где они установлены:

perldoc -l perlfunc

/ USR / Lib / perl5 / 5.10.0 / стручок / perlfunc.pod

Затем найдите «заголовки» в файлах .pod:

cd /usr/lib/perl5/5.10.0/pod
grep -n ^= *pod | grep '\\R'

perlrebackslash.pod: 492: = item \ R

Готово!

5 голосов
/ 08 мая 2011

Тэд дает вам один способ поиска вещей, но есть немного более простой способ.Обычно вы можете начать отвечать на вопрос регулярных выражений, посмотрев документацию perlre .Там он упоминает \R и указывает на perlrebackslash .Если вы не знаете, с чего начать, обычно основная perl документация, представляющая собой оглавление, может указать вам верное направление.

Хотя это правда, что \R является специальным псевдосимвольным классом для /\r\n|\v/, думать о нем в терминах байтов неправильно.Он соответствует всему, что Unicode считает концом строки последовательность :

  • Перевод строки, U + 000A
  • Возврат каретки, U + 000D
  • CRLF, (U + 000D U + 000A)
  • Вертикальная вкладка, U + 000B
  • Подача формы, U + 000C
  • Следующая строка, U + 0085
  • Разделитель строк, U + 2028
  • Разделитель абзацев, U + 2029

Это всего лишь кодовые точки, поэтому то, как они отображаются в данных, зависит откодирование.Чем раньше вы отвлечетесь от размышлений о байтах и ​​регулярных выражениях, тем счастливее будет то, как последние perls обрабатывают (символьные) строки.

Подробнее о различных классах пробельных символов вы можете прочитать в моем Знайтеваши классы персонажей под разной семантикой .

...