Показать сообщение отдельно
  #18 (permalink)  
Старый 07.01.2012, 19:02
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

в контексте: сейчас читаю Дж.Фридл - Регулярные выражения, 3-е изд.[2008].pdf
Aetae, буквально через 2-3 страницы от того, где я остановился, наткнулся на следующее:
для пояснения:
(?=) - опережающая проверка
(?<=) - ретроспективная проверка
пример в кот. производится поиск: see Jeffs book
задача: заменить Jeffs на Jeff’s

Цитата:
...Получится выражение (?<=\bJeff) (?=s\b) которое читается так: «Найти позицию, перед которой находится текст ‘Jeff’, а после которой находится текст ‘s’.» Результат получается весьма любопытным. Регулярное выражение вообще не совпадает ни с каким текстом – оно совпадает с позицией, в которой мы хотим вставить апостроф. Найденное «ничто» в этой позиции заменяется апострофом.

Так что получается Kolyaj прав был, когда говорил (цитата из другой темы)
Сообщение от Kolyaj
После прочтения половины книги вопросов по регулярным выражениям не возникает никогда. Вторая половина там про внутренности движков.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 07.01.2012 в 19:10.
Ответить с цитированием