Модераторы: ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Замена значений в формуле 
:(
    Опции темы
Error202
  Дата 7.7.2010, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 5.11.2004
Где: Moscow

Репутация: нет
Всего: нет



Есть строка:

Код

...тант СемЭн! #М$ощностью #sila$ может уйти #2+4/(75 + sila) - a24$ стоп...


В кусках #...$ может быть просто переменная или выражение
Мне нужно, переменную, или переменную, встречающуюся в выражении заменить на $VAR{переменная}, а цифры и знаки не трогать...
чтобы получилось:

Код

...тант СемЭн! $VAR{'М'}ощностью $VAR{'sila'} может уйти 2+4/(75 + $VAR{'sila'}) - $VAR{'a24'} стоп...


как такое можно сделать?

P.S. С простыми переменными жделал так, а вот с выражениями засада... 
И если просто цифра, то она тоже переводится в $VAR, а этого не надо
Код

 ~s/\#([a-zA-Zа-яА-Я0-9\_]+?)\$/\$VAR{'$1'}/g;

PM MAIL WWW   Вверх
JAPH
Дата 17.7.2010, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 8.1.2007
Где: Ленобласть

Репутация: нет
Всего: 23



Еще актуально?

Одной регуляркой не получилось. Хотя, это как посмотреть:
Код
s/#((?>[^\$]*))\$/(local $_ = $1) =~ s!([a-z]\w*)!\$VAR{'$1'}!ig; $_/gie;


Не знаю, как оно на русские буквы отреагирует...


--------------------
Что непонятно - спрашиваем smile
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема »


 




[ Время генерации скрипта: 0.0365 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.