![]() |
|
Модераторы: ginnie |
![]()
|
|
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
$a = '
Наименование показателя \par\pard\plain \intbl\fi720\qj\hyphpar1 \par\pard\plain \intbl\fi720\qj\hyphpar1 \par\pard\plain \intbl\fi720\qj\hyphpar1 \cell\pard\plain ' Каким образом удалить одним регулярным выражением все данные МЕЖДУ строчками А и Б. Причем: Строчка А не должна начинаться на "\" Строчка Б начинается на "\cell" Т.е. нужно удалить все данные между строчкой 'Наименование показателя' и '\cell\pard\plain'. В результате должно получиться: $a = ' Наименование показателя \cell\pard\plain ' |
|||
|
||||
| patap |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 893 Регистрация: 7.5.2005 Где: Украина, Зп Репутация: нет Всего: 40 |
я в перле не рублю )), но вот с такой регуляркой в пхп получилось
вот общий дамп результата работы регулярки, при удовлетворительном результате
может что-то поможет Это сообщение отредактировал(а) patap - 28.12.2010, 18:38 -------------------- На боку кобура болталась, сзади шашка отцовская звякала. Впереди меня все хохотало, а позади все плакало (с) |
||||||
|
|||||||
| alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 11 Всего: 14 |
Это сообщение отредактировал(а) alezzz - 28.12.2010, 18:48 |
|||
|
||||
| Suppir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
Есть проблема с вашими вариантами. Если между А и Б содержится какой-то важный текст (строчка 'Тра-та-та'), то он исчезает. А должен остаться.
Можно вырезать только строки, которые удовлетворяют выражению /^\s*$|^\/; (т.е. или пустые или начинающиеся с '\');
В результате должно напечатать: Наименование показателя \par\pard\plain \intbl\fi720\qj\hyphpar1 Тра-та-та. Эта строчка должна остаться \cell\pard\plain А сейчас печатает: Наименование показателя \cell\pard\plain Это сообщение отредактировал(а) Suppir - 28.12.2010, 20:18 |
|||
|
||||
| alezzz |
|
|||
![]() сплю... ![]() ![]() Профиль Группа: Участник Сообщений: 499 Регистрация: 17.8.2009 Репутация: 11 Всего: 14 |
При условии что перед строкой А есть еще хотя-бы 1 строка. Как минимум с примером работает Это сообщение отредактировал(а) alezzz - 29.12.2010, 08:47 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |