Программирование > Регулярные выражения

[Опечатки] Книга Фридла "Регулярные выражения. Библиотека пргограммиста" издание 2

(1/9) > >>

tserbis:
Да я к тому, что ссылку-то, наверное, можно и на него положить.

Yukko:

--- Цитировать ---tserbis:
Есть 2-е издание за 2003-й год.
--- Конец цитаты ---

Во втором издании, когдя я читал, была найдена ошибка.
стр 195:

--- Цитировать ---Фридл
теперь рассмотрим применение выражения ^\\w+: к строке "Subject:". С первого взгляда можно сказать, что поиск завершится неудачей, потому что в тексте нет ни одного двоеточия, но механизм регулярных выражений придет к этому выводу лишь после  полной проверки.
--- Конец цитаты ---
 
на самом деле совпадение будет, можете проверить сами... потому что в проверяемой строке есть двоеточие. Дальше в следующем абзаце в книге рассказывается механизм поиска совпадения и почему данное РВ завершится неудачей. Когда стало заметно, что совпадение будет найдено, надо либо убрать из строки "Subject:" двоеточие, либо переписать следующий абзац, объяснив почему будет найдено совпадение. (Дж. Фридл по всей книге рассматривает обработку файла сообщения электронной почты, а там строка "Subject:" содержит двоеточие). Переписываем абзац:

РВ ^\\w+: ищет одно или более слов в начале строки, после которых следует двоеточие (на самом деле в любом случае, если слово и будет найдено, то будет найдено только одно слово, но не более, потому что есть другие разделители слов, кроме двоеточия). К моменту первой проверки : часть выражения \\w+ распространится до конца слова Subject так как дальше идет символ, который не входи в класс \\w, механизм РВ делает сохранение состояния в конце слова Subject и проверяет следующий символ в строке на совпадение с тем, что указано в РВ, так как следующий символ двоеточие, то предыдущее сохраненное состояние забывается и сохраняется новое состояние, но механизм РВ пришел к концу РВ, то он берет первое (согласно закона) , а вообще единственное совпадение "Subject:"

[off]замечания исправления приветствуются[/off]

tserbis:
Перевод 2-го издания, страница 38.

Вчера обнаружил, что перед абзацем, начинающимся со слов "Переходим ко второй половине...", пропущен серьёзный кусок текста.

Сейчас сравнил с переводом первого издания - почти страницы текста нет, ИМХО.

Маловероятно, что у других по-другому, но всё-таки гляньте.

Yukko:
tserbis
Сравнивать не с чем, но согласен :) текст пропущен.

tserbis:
Ещё несколько опечаток:

1. страница 4
аннотация; последний абзац; в слове Python пропущена буква h (см. также опечатки 3 и 38)

2. страница 7
между 3 строкой ("В двух словах") и 4 строкой ("Другие квантификаторы: повторение" должен быть пункт "Необязательные элементы" (см. опечатку 7)

3. страница 16
раздел "Почему было написано..."; 4 сверху строка раздела; в слове Python пропущена буква h (см. также опечатки 1 и 38)

4. страница 16
4 снизу строка страницы; вместо "скрупулезного" надо "скурпулезного"

5. страница 26
3 снизу строка страницы; символ | должен быть подчёркнут

6. страница 30
раздел "Начало и..."; 6 сверху строка раздела; не закрыто регулярное выражение

7 [уже упоминалась в этом треде]. страница 38
перед предпоследним абзацем страницы (начинающимся со слов "Переходим ко второй...") пропущен кусок текста (пропущенный текст приведён дальше в этом треде); судя по первому изданию - почти страница; так как в пропущенном тексте есть начало раздела "Необязательные элементы", то см. также. опечатку 2.

8. страница 39
предпоследний абзац страницы; после слова "Вставляя" в рег. выражении троеточие заменить на символ "видимого пробела"

9. страница 39
предпоследний абзац страницы; после слов "мы получаем" в рег. выражении после символа * вставить символ >

10. страница 46
3 снизу абзац страницы; после слов "простым выражением вида" в рег. выражении после символа . вставить символ :

11. страница 47
предпоследний абзац страницы; символ ? заменить на символ "видимого пробела"

12. страница 49
раздел "Подвыражение"; в начале последней строчки 2 абзаца рег. выражение 1-6 заменить на [1-6]

13. страница 64
6 сверху строка страницы; после слова "от" в рег. выражении квадратные скобки [] заменить на круглые () (см. также опечатку 15)

14. страница 64
врезка; 2 абзац; после слов "круглых скобок" в рег. выражении после символа ? вставить символ :

15. страница 65
врезка; название; во 2 рег. выражении квадратные скобки [] заменить на круглые () (см. также опечатку 13)

16. страница 65
врезка; последний абзац; в 1 рег. выражении после символа * убрать символ ]

17. страница 80
2 снизу абзац страницы; символ : заменить на символ =

18. страница 83
последнее предложение перед разделом "Возвращаемся к..."; на следующей странице НЕТ врезки с соответствующим ответом

19. страница 84
последний перед разделом "Границы слов и..." абзац; рег. выражение в 3 строке; жирным должен быть выделен не последний символ ), а предпоследний

20. страница 86
4 сверху строка страницы; слово "цифр" заменить на "цифры"

21. страница 91
1 сверху строка страницы; слово "запятыми" заменить на "точками"

22. страница 91
4 снизу строка страницы; первые 3 буквы (com) строки должны быть подчёркнуты

23. страница 93
раздел "Преобразование..."; 3 строка раздела; com/ заменить на com

24. страница 93
раздел "Преобразование..."; 4 строка раздела; "причем путь" заменить на "причем /путь"

25. страница 94
абзац, начинающийся "Текущая версия..."; рег. выражение после слов "то есть"; после символа < добавить символ !

26. страница 95
9 сверху строка страницы (содержащая слова "Не может заканчиваться"); символ > заменить на символ

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии