![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Serebrus |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 22.5.2007 Где: Ташкент Репутация: нет Всего: нет |
Доброго времени суток всем.
Как вам известно \b определяет границы. Есть такой текст: 1. 1a) aaaaaaaa 1b) bbbbbbb 2a) cccccc ccc 2b) dd ppp 2c) eeeeeeeee 3a) ffffffff 3c) ggggg 2. 1a) nnn nn 1c) wwwww 2a) bbbbbbb 2b) ddd vvvv 3a) cccccc 3b) dd ppp .... и т.д. Текст вертикальный в виде теста. Его надо перестроить в табличную форму, т.е. _____________________________________________________________________________ # | 1a) | 1b) | 1c) | 2a) | 2b) | 2c) | 3a) | 3b) | 3c) | _____________________________________________________________________________ 1. | aaaaaaaa | bbbbbbb | | cccccc ccc | dd ppp | eeeeeeeee | ffffffff | | ggggg | 2. | nnn nn | | wwwww | bbbbbbb | ddd vvvv | | cccccc | dd ppp | | ...... _____________________________________________________________________________ После удаления \r\n: Для выризания 1a): /\b1a\)(.+)1[b|c]\)\b/ - но если 1b) и 1c) не участвуют то эта регулярка не работает корректно. Если для 1a): /\b1a\)(.+)[1b|1c|2a]\)\b/ - то в этом случае регулярка возвращает всех трех значений (1b, 1c, 2a) в одном 1a Как можно это организовать правильно? Это сообщение отредактировал(а) Serebrus - 6.2.2012, 15:38 |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 20 Всего: 58 |
Без удаления переносов:
сделает 2 группы:
Это сообщение отредактировал(а) Keeper89 - 6.2.2012, 17:00 |
|||
|
||||
| Serebrus |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 22.5.2007 Где: Ташкент Репутация: нет Всего: нет |
Keeper89, а в случае если ответы много строчные, т.е:
1a)ccccc fff vvvv vvvv что можно сделать? |
|||
|
||||
| MetalFan |
|
||||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Отказаться от регулярок и распарсить линейно. Добавлено @ 08:54 Разбор построчно:
должен быть включен roMultiLine (если пользуется делфевая обертка TRegEx-TPerlRegEx) или модификатор m. т.е.
Это сообщение отредактировал(а) MetalFan - 7.2.2012, 08:59 -------------------- There are always someone smarter than you... |
||||
|
|||||
| Serebrus |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 333 Регистрация: 22.5.2007 Где: Ташкент Репутация: нет Всего: нет |
MetalFan, спасибо
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |