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

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
62. страница 177
первое предложение последнего абзаца ("Механизму НКА противопоставляется...")
пропущена точка в конце предложения

63. страница 178
2 абзац сверху
2 предложение ("В приведённом выше...")
перед словом "быть" пропущено слово "может" (проверено по 1-му изданию)

64. страница 181
1 абзац сверху
предложение "Механизм перемещается..."
словосочетание
"ко второму символу регулярного выражения"
заменить на
"ко второму символу строки"

65. страница 181
2 абзац сверху
предложение "Это выражение делится..."
убрать союз "и" после слова "поиска"

66. страница 218
регулярное выражение в 6 строке сверху
ПОСЛЕ 3-го слева символа \\ пропущен символ )
т.е. \\[ заменить на \\)[

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
tserbis
может, ты еще мои статьи вычитаешь? Даю гарантию, что все правки внесу! :)
работа в Украине

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
[OFF]:-) Я не вычитываю на ошибки, я читаю содержание. Если буду читать твои статьи - я тебе пришлю исправления и без твоего согласия... Ж)[/OFF]

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
[OFF]Сижу сейчас - чувствую хододно уже как-то (с утра окошко открыл). Окно почти рядом, но рукой не достать чуток. Вставать (программист всё-таки) как-то не хочется. Беру в руку первую попавшуюся книгу, чуть наклонился к окну, толчок книгой - есть, прикрылось. Ложу книгу на место и только теперь обращаю внимание - Фридл.
Так что must have, однозначно.[/OFF]

tri

  • Гость
tserbis
По поводу
Цитировать
52. страница 32
2 абзац снизу
фразу "выполняет привязку позиции к началу строки" заменить на "интерпретируется как обычный символ"

В английской книжке этот абзац выглядит так:
Цитировать
You might have noticed that the ^ used here is the same as the start-of-line caret
introduced on page 8. The character is the same, but the meaning is completely
different. Just as the English word .wind. can mean different things depending on
the context (sometimes a strong breeze, sometimes what you do to a clock), so
can a metacharacter. We\'ve already seen one example, the range-building dash. It
is valid only inside a character class (and at that, only when not .rst inside the
class). ^ is a line anchor outside a class, but a class metacharacter inside a class
(but, only when it is immediately after the class\'s opening bracket; otherwise, it\'s
not special inside a class). Don\'t fear . these are the most complex special cases;
others we\'ll see later aren\'t so bad.

Может так лучше:
Цитировать
Возможно, вы заметили, что для инвертирования классов используется тот
же символ ^, который отмечает начало строки. Символ действительно тот же,
но смысл у него совсем другой. Например, слово «крыша» в зависимости от
контекста может иметь совершенно разный смысл; то же самое можно сказать и
о метасимволах. Мы уже встречались с одним примером множественной интер-
претации — дефисом. Дефис интерпретируется как определитель интервалов
только в символьном классе (и то если он не находится в первой позиции).
Символ ^ за пределами символьного класса выполняет привязку позиции к началу
строки, внутри класса он является метасимволом класса — но лишь в том слу-
чае, если не следует сразу же после открывающей скобки (в противном случае
он интерпретируется как обычный символ).
Не бойтесь, это самые сложные
примеры множественной интерпретации символов; в остальных случаях дело
обстоит проще.


All
Вот выдрал текст на английском, отсутствующий на странице 38 в русском издании.
http://allfiles.ru/storage/8c77a3338856328ef77696d9853cca0a/Mastering_Regular_Expressions_2Ed_pages34-36.rar
То, чего не хватает в русской книжке начинается на страце 17 со слов "A negated character class is simply a notational convenience ..." и до конца этой страницы.
Может у кого есть время и желание на перевод.

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
tri
>> В английской книжке
Во 2-м издании?

tri

  • Гость
tserbis
Цитировать
Во 2-м издании?

Да, во втором.

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
Принято. Итак,
правильный текст о "52-й опечатке":
52. страница 32
2 абзац снизу
фразу "За пределами символьного класса дефис" заменить на "Символ ^ за пределами символьного класса".

tri, спасибо. [OFF]Про перевод попозже отвечу.[/OFF]

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
Про перевод...

Думаю, с нуля переводить не нужно, так как у меня есть возможность смотреть перевод 1 издания и я подозреваю, что за базовый вполне сойдёт перевод потерянной части из него.

Но, учитывая что всё-таки это два разных издания, я был бы не прочь взглянуть на потерянную часть в оригинале 2 издания и привести перевод из первого в соответствие с нею.

Пока по ссылке тишина... tri, там много? Может, на tserbis@yandex.ru пришлёшь?

tri

  • Гость
tserbis
На allfiles.ru видимо не пускают с не русскими IP.
Вот положил ещё сюда:
_http://www.regexp.nm.ru/Mastering_Regular_Expressions_2Ed_pages34-36.rar

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
Скачал. Спасибо.
Перевод обязательно сделаю.
[OFF]не сегодня только; завтра или на следующей неделе[/OFF]

tri

  • Гость
tserbis
Вот ещё положил текст из первого английского издания, может пригодится
_http://www.regexp.nm.ru/Mastering_Regular_Expressions_1Eds_pages70-72.rar
Тока он немного кривоватый. Похоже его на сафари ловили.

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
tri, а можешь ещё показать страницу 15 оригинала 2 издания
(на странице 17 есть ссылка на неё, я хочу посмотреть какой номер страницы будет соответсвовать ей в русском переводе)?

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
Пропущенный текст со страницы 38 (см. выше опечатку 7):

[OFF]это надо сохранить в htm файл и открыть его в браузере; регулярки выделены цветом (а не уголками, как в книге);[/OFF]




Пропущенный текст на странице 38. Перевод 2 издания. Фридл. Регулярные выражения.



• Инвертированный символьный класс представляет собой сокращённое обозначение обычного символьного класса, означающее все символы, кроме перечисленных. Следовательно, выражение [^x] означает не "всё что угодно, кроме x", а "любой символ, отличный от x". Различие тонкое, но важное. Например, в первой интерпретации совпадение будет найдено в пустой строке, чего быть не должно.



• Полезный ключ -i игнорирует различия в регистре букв при сравнении (стр.36).{стрелка вверх}

Даже те метасимволы, которые мы рассмотрели, способны принести несомненную пользу, но настоящие возможности регулярных выражений начинаются с применения квантификаторов.

Необязательные элементы



Допустим, вам понадобилось найти слово color или colour. Эти два слова почти одинаковы, только в одном есть буква u, а в другом её нет. Регулярное выражение colou?r позволяет найти любой из этих вариантов. Метасимвол ? (вопросительный знак) означает "необязательный символ". Он ставится после символа, который может находиться в данной позиции текста, но наличие которого не требуется для успешного совпадения.

В отличие от других упоминавшихся метасимволов, вопросительный знак относится только к символу, расположенному непосредственно перед ним. Выражение colou?r интерпретируется как "c, затем o, затем l, затем o, затем u?, затем r".

Сопоставление u? с текстом всегда оказывается успешным: иногда ему соответствует символ u в тексте, иногда не соответствует. Собственно, главная особенность необязательного элемента ? состоит в том, что совпадение для него находится всегда. Это вовсе не означает, что совпадение будет найдено для любого регулярного выражения, содержащего метасимвол ?. Например, при поиске в строке semicolon будут найдены совпадения для colo и u? (соответственно colo и ничего). Тем не менее завершающее r не находится, из-за чего colou?r в конечном счёте и не совпадает в строке semicolon.

Рассмотрим другой пример. Представьте, что вам требуется найти дату - четвёртое июля, в которой месяц обозначается July или Jul, а число - fourth, 4th или просто цифра 4. Конечно, можно просто воспользоваться выражением (July|Jul)•(fourth|4th|4), но давайте рассмотрим другие варианты выражения той же идеи.

Во-первых, (July|Jul) сокращается до (July?). Вы видите, что это одно и то же? При удалении | круглые скобки перестают быть нужными. Вреда от скобок не будет, но без них выражение July? становится чуть более понятным. Получается July?•(fourth|4th|4).


 

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