Latest post of the previous page:
Raistlin, итого, вам требуется найти “foo чтоУгодно bar”, но чтобы в этом “чтоУгодно” не содержалось “foo”? Я правильно понял?Регулярные выражения — ликбез по регэкспам
- HaRT
- Moderator
- Posts: 10823
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Регулярные выражения — ликбез по регэкспам
foo((?!foo).)*?bar
(захват нежадный; если убрать ‘?’ после ‘*’, то будет жадный).
Last edited by HaRT on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Исправлена краевая ошибка
Reason: Исправлена краевая ошибка
Фар есть инструмент, а не нянька. © 2009 DrKnS
- HaRT
- Moderator
- Posts: 10823
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Регулярные выражения — ликбез по регэкспам
А какой там движок регэкспов? И в чём выражается это „сносит крышу“?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Регулярные выражения — ликбез по регэкспам
А кто его знает, какой движок. Я однажды писал автору, что вот такой-то регэксп не детектит того, что должен, - получил в ответ что-то вроде: "Не делайте так".
Magically yours
Raistlin
Raistlin
- HaRT
- Moderator
- Posts: 10823
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Регулярные выражения — ликбез по регэкспам
Попробуйте улучшенный (укороченный) вариант:
(foo)((?!\1).)*?bar
— вдруг прокатит…
Last edited by HaRT on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Исправлена краевая ошибка
Reason: Исправлена краевая ошибка
Фар есть инструмент, а не нянька. © 2009 DrKnS
- HaRT
- Moderator
- Posts: 10823
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Регулярные выражения — ликбез по регэкспам
Обращаю внимание, я исправил в регэкспах ошибку в случае, если чтоУгодно начиналось с foo. Кроме того, по некотором размышлении обнаружилось ограничение: если конец foo (один или более символов) совпадает с началом bar, то некоторые подходящие строки не будут найдены, например: foo=“do”, bar=“od”, чтоУгодно=“do321dod”.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Регулярные выражения — ликбез по регэкспам
А мне вот интересно. Надо найти строку: начинается с foo1, затем - произвольная последовательность символов, которая не содержит foo1 (ППС), затем - foo2, затем - снова ППС, и заканчивается все bar. Вот работает (в RESearch), а - нет ().
Magically yours
Raistlin
Raistlin
Регулярные выражения — ликбез по регэкспам
Из разного, если вдруг кому. Лучший ликбез по регуляркам, что я встречал — из видеокурса по JS: вот, 28-й урок. Уже сколько с ними знаком, а и то этот ликбез кое-какие моменты для меня прояснил.
Пользуюсь ФАРом больше 20 лет © собирательный.
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
Регулярные выражения — ликбез по регэкспам
Интересно, зачем это видеокурсом делать? Чтобы попивая пивко смотреть с восхищением на большом экране, как чувак ловко мышкой тыкает?
Разум когда-нибудь победит.
Регулярные выражения — ликбез по регэкспам
Интересно, зачем в школах и институтах лекции? Можно ж учебники читать, а лучше справочники.
Принцип свободный: не нравится — не ешь!
P.s. На видеокурс автор затратил гораздо меньше времени и усилий, чем если бы делал это в виде книги. И поскольку он бесплатно результат своего труда выложил, претензий к нему быть не может.
Принцип свободный: не нравится — не ешь!
P.s. На видеокурс автор затратил гораздо меньше времени и усилий, чем если бы делал это в виде книги. И поскольку он бесплатно результат своего труда выложил, претензий к нему быть не может.
Пользуюсь ФАРом больше 20 лет © собирательный.
Регулярные выражения — ликбез по регэкспам
Лекция - это не урок. Конечно, бывают лекторы, читающие по книжке, но это неправильные лекторы.
Единственный плюс видеоурока как способа подачи информации - экономия времени подающего, как вы правильно отметили. Но за ссылку все равно спасибо.
Единственный плюс видеоурока как способа подачи информации - экономия времени подающего, как вы правильно отметили. Но за ссылку все равно спасибо.
Magically yours
Raistlin
Raistlin