| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Нежадный паттерн с флагом DOTALL |
| Автор: Antropoid 2.12.2010, 00:08 | ||
| Помогите, плиз с паттерном. Текст: \n\nPar1\n\nPar2\n\nPar3 Ожидаемый результат: \n\nPar1 \n\nPar2 \n\nPar3 Текст: \n\nPar1\nPar2\n\nPar3 Ожидаемый результат: \n\nPar1\nPar2 \n\nPar3 Первый пример работает с таким вот паттерном
второй - нет. Вычитал, что дело в точке(.), \n не считается точкой, чтобы считалось нужно взводить флаг Pattern.DOTALL. Пробовал с флагом - не получается Как тут быть? |
| Автор: aleksandy 2.12.2010, 09:06 | ||
|
| Автор: Antropoid 2.12.2010, 13:11 | ||
| Спасибо за ответ, но к сожалению он не подходит. Я явно не сказал, но есть еще условие - между \n и \n могут быть whitespaces-символы кроме \n. Я это обозначил так:
А ваш вариант заточен под невозможность появления \n\n в конце найденной группы. |
| Автор: aleksandy 2.12.2010, 13:47 | ||
Тогда сначала
а потом как я показал. |
| Автор: Kircul 2.12.2010, 13:53 | ||
Может как нибудь так?
|
| Автор: Antropoid 2.12.2010, 14:51 |
| aleksandy, +1 Kircul, +1 Сенкс! Оба примера работают! |
| Автор: aleksandy 3.12.2010, 09:05 | ||||
| Antropoid, я тут еще немного на досуге поразмышлял и вот что у меня полчилось: В моем примере надо поменять 16 строку на вот такую
А 19 и 25 - на такую
Так будет эффективней. |
| Автор: Antropoid 3.12.2010, 15:59 |
| aleksandy, сенкс! |