Автор Тема: reg exp  (Прочитано 6713 раз)

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

Оффлайн DartSidius

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 309
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
reg exp
« : 23 Июня 2011, 11:46:02 »
Есть строка вида [crypt]tex1[/crypt][crypt2]text2[/crypt]

Мне нужно заменить [crypt]tex1[/crypt] & [crypt]tex2[/crypt] на некий код, внутри crypt код постоянно меняется...делаю так...но строка меняется полностью, засасывая всё целиком:

$var=~s/\\[crypt\\](.+)\\[\\/crypt\\]/$dataToCrypt/;

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
reg exp
« Ответ #1 : 23 Июня 2011, 12:34:26 »
.+?

Оффлайн DartSidius

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 309
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
reg exp
« Ответ #2 : 23 Июня 2011, 16:00:14 »
так пробовал..не помогает...приведу полный код

$var = "[crypt]sometext[/crypt][crypt]sometext2[/crypt]";

if($var=~/\\[crypt\\](.+)?\\[\\/crypt\\]/) {
   print "\'$1\'

";
   $var=~s/\\[crypt\\]$1\\[\\/crypt\\]/$crypttext/;
}

выдает в принте целиком строчку : sometext[/crypt][crypt]sometext2

Оффлайн DartSidius

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 309
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
reg exp
« Ответ #3 : 23 Июня 2011, 16:11:01 »
Туплюю не там поставил \'?\'. СПасибо!

 

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