| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Reluctant quantifiers |
| Автор: skhilkov 11.12.2009, 07:14 | ||
| Ничего не понимаю... то ли лыжи не едут... В общем есть регексп, в нем есть reluctant quantifier .*? Я правильно понимаю что он должен включать в себя подстроку минимальной длины, при условии что правая и левая часть регекспа совпадают... В общем пример в студию!
Вот хоть убей - выводит /real-estate/apartments-sale/page30/">30</a> <a href="/real-estate/apartments-sale/page2/ а мне надо /real-estate/apartments-sale/page2/ !! Я вот что подумал... может берется подстрока наименьшей длины, но только от левой части регекспа?? А правая сторона побоку? |
| Автор: skhilkov 11.12.2009, 13:33 | ||
Вот сижу и туплю... усли строку оставить
То выводится то что нужно.... блин, ну как сделать чтоб искалась наименьшая строка? Ведь reluctant для того и сделаны.... Самое интересное, что если в примере заменить .*? на .* НИФИГА не меняется.... это чтож за беспредел такой ((( |
| Автор: skhilkov 11.12.2009, 14:15 |
| Дрон, спасибо тебе! А как же быть в таком случае? Приходит на ум такой изврат: воспользоваться lastIndexOf() класса String. Знает кто-нибудь менее извращенный вариант? |
| Автор: Дрон 11.12.2009, 16:20 | ||
| skhilkov, а что если в начало регэкспа добавить (.*) ? То есть вот так:
Только тогда смотреть результат надо будет не в первой группе, а во второй. Вообще в сети немало страниц, где можно хоть онлайн потестировать регулярные выражения. PS: Я чего-то не помню, а что такое \Q и \E ? |
| Автор: skhilkov 13.12.2009, 16:39 |
| Дрон, +1 спасибо! Я уже извратился было с lastIndexOf, но сейчас переделаю, это лучше! |