На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ALXR
  
    > Perl - регулярные выражения не работают
      Всем привет!!

      У меня есть огромный файл в котором лежит множество анкетных формочек которые я хочу окуратно отделить от всего содержимого того файла.

      Для этого я построил регулярное вырожение (большой длины) и оно не работало!!!Ё
      Но если его разбить на два отдельных они работают!!!

      Вот:

      sub write_data{
       $n="splyur";$nn="splver";
       print DATA "$1$n$2$n$3$n$4$n$5$n$6$n$7$n$8$n$9$n$10$n$11$n$12$n$13$n$14$n$15$nn";
       return "yura";
      }

      $S1='<b>Рост:</b>';
      $S2='<b>Вес:</b>';
      $S3='<b>etc:</b>';#На самом деле эти строки достаточно длинные... типа
      $S14='<tr valign="top"><td colspan=2 class="qqwq">Oaeaoii:      </td><td class="qssq">';

      #Работает половина 1
      $fl=~s/$S1\s*([^<]*)\s*$br\s*$br\s*$S2\s*([^<]*)\s*$br\s*$br\s*$S3\s*([^<]*)\s*$br\s*$br\s*\s*$td\s*$tr\s*$S4\s*([^<]*)$tdtr\s*$S5\s*([^<]*)$tdtr\s*$S6\s*([^<]*)$tdtr\s*$S7\s*([^<]*)$tdtr\s*$S8\s*([^<]*)$tdtr\s*$S9\s*([^<]*)$tdtr\s*$S10\s*([^<]*)$tdtr\s*/write_data()/isge;

      #Работает половина 2
      $fl=~s/$S10\s*([^<]*)$tdtr\s*$S11\s*([^<]*)$tdtr\s*$S12\s*([^<]*)$tdtr\s*$S13\s*([^<]*)$tdtr\s*$ww\s*$S14([^<]*)$tdtr\s*$qq\("(\w+@\w+\.\w+)/write_data()/isge;

      #Неработает полное
      $fl=~s/$S1\s*([^<]*)\s*$br\s*$br\s*$S2\s*([^<]*)\s*$br\s*$br\s*$S3\s*([^<]*)\s*$br\s*$br\s*\s*$td\s*$tr\s*$S4\s*([^<]*)$tdtr\s*$S5\s*([^<]*)$tdtr\s*$S6\s*([^<]*)$tdtr\s*$S7\s*([^<]*)$tdtr\s*$S8\s*([^<]*)$tdtr\s*$S9\s*([^<]*)$tdtr\s*$S10\s*([^<]*)$tdtr\s*$S11\s*([^<]*)$tdtr\s*$S12\s*([^<]*)$tdtr\s*$S13\s*([^<]*)$tdtr\s*$ww\s*$S14([^<]*)$tdtr\s*$qq\("(\w+@\w+\.\w+)/write_data()/isge;



      Есть ли выход из этого положения?
      И можно ли то сделать по другому... тоесть я делаю fl=~s/.../write_data()/ge
      По моему это сделано через Ж. Может можно иначе???
      Сообщение отредактировано: vot -
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0129 ]   [ 15 queries used ]   [ Generated: 24.04.24, 02:48 GMT ]