![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Antropoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: 2 Всего: 16 |
Как сделать так, чтобы на выходе было:
(A) + (B)
Мой паттерн "(.*)" возвращает "внешнее" совпадение : (A) + (B) -------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
Надо квантификатор * сделать нежадным (ленивым, lazy), добавиви знак ?.
(.*?) -------------------- |
|||
|
||||
| Antropoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: 2 Всего: 16 |
К сожалению нет.
Ничего так не выводит вообще. Добавлено через 13 минут и 18 секунд Вобщем еще нужно скобочки обозначать особым образом. Такой паттерн работает: ".*?\\(.*?\\).*?" -------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
Конечно, скобки надо экранировать.
Добавлено через 6 минут и 1 секунду В любом случае - Ваша регулярка бред сивой кобылы. Вы задачу сформулируйте полностью. -------------------- |
|||
|
||||
| Antropoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: 2 Всего: 16 |
Ну ок, попробую.
Требуется из строки вычленить все внешние строчки такого вида: \frac{*}{*}*, где *- любая последовательность символов. Например, для : "\frac{a^2 + b^2}{c_\frac{1}{2} + d/2}+1+\frac{3}{4}" должно получиться так: frac{a^2 + b^2}{c_frac{1}{2} + d/2}+1+ frac{3}{4} -------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
Ага, ну вот. Мои опасения подтвердились. Это ведь TeX? А ядро TeX - язык разметки. А разбирать текст на языках разметки (HTML, XML, TeX) с помощью регулярных выражений - очень плохая затея. -------------------- |
|||
|
||||
| Antropoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: 2 Всего: 16 |
Ага у меня тут тоже что-то не очень клеится :(
А как же быть? Все парсить "руками"? -------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
Можно ручками. Но если это был только пример и нужно разбирать выражения посложнее, лучше использовать какой-нибудь генератор парсеров. Тысячи их. Но конкретно для такой задачи - ручками можно. -------------------- |
|||
|
||||
| Zlatogorov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 18.12.2007 Где: BW,Stuttgart Репутация: нет Всего: 1 |
Попробуйте посмотреть в сторону ANTLR.
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |