Автор Тема: Вопросик  (Прочитано 4268 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ran1

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопросик
« : 11 Июля 2004, 06:53:48 »
Пытаюсь вытащить из документа всё, что заложено между тегами PRE.

$k =~ s%
(.+?)
%%i;
print $1;

Вроде должно работать, и работали похожие конструкции, но на практике $1 ничего не содержит, хотя между тегами до фига инфы. Почему?

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Вопросик
« Ответ #1 : 12 Июля 2004, 10:40:03 »
perldoc perlop в части Regexp Quote-Like Operators
Разницу между m// и s/// видим?
2B OR NOT 2B = FF

Оффлайн Alone

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 182
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопросик
« Ответ #2 : 12 Июля 2004, 15:18:55 »
$k =~ s%
(.+?)
%%is;

Оффлайн Billi

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 60
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопросик
« Ответ #3 : 12 Июля 2004, 16:28:29 »
$k =~/
(.+?)<\\/PRE>/i;
должно работать (тоесть у меня работает :) )
Оператор ~s///ig...
используется не для поиска текста а для замены строк обычно
а ~/// или ~m/// для поиска
Но я хотя бы знаю, что ни чего не знаю

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Вопросик
« Ответ #4 : 12 Июля 2004, 18:04:34 »
Billi
Chs

Кажется ему поиск и не нужен:

Цитировать
Пытаюсь вытащить из документа всё, что заложено между тегами PRE.


Вопрос, не в том как он это делает (иногда требуется кое-что убрать из текста, при этом запомнить, что убрал).
А по логике Alone прав, т.к. тег
 - подразумевает вывод текста AS IS с учетом переходов на новую строку.

Если уж курить доки, то в сторону совпадения метасимвола . с другими символами, а так же модификатора /s.

Оффлайн ran1

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопросик
« Ответ #5 : 14 Июля 2004, 17:52:44 »
Спасибо, я забыл про перевод строчки :(
$k =~ s%
((.|\\n)+?)
%%i;
-так всё работает.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28