Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.01.2016, 21:38
Интересующийся
Отправить личное сообщение для Lol9999 Посмотреть профиль Найти все сообщения от Lol9999
 
Регистрация: 27.10.2015
Сообщений: 10

Замена аргумента в круглых скобках после функции
Как с помощью регулярных выражений заменить аргумент в круглых скобках после Math.sin,Math.cos, Math.sqrt?
Например превратить Math.sin(90) в Math.sin(что-то)
Даже не знаю как написать такое трудное регулярное выражение.
Ответить с цитированием
  #2 (permalink)  
Старый 10.01.2016, 21:52
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

а обязательно регулярными выражениями?
Ответить с цитированием
  #3 (permalink)  
Старый 10.01.2016, 22:01
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Lol9999,
Как то скучно...
Первый вопрос: А с какой целью ? Ибо может решить это всё не столь извращёнными методами.
Опишите задачу и попытку решения (код)
Ответить с цитированием
  #4 (permalink)  
Старый 10.01.2016, 22:14
Профессор
Отправить личное сообщение для Keramet Посмотреть профиль Найти все сообщения от Keramet
 
Регистрация: 30.12.2015
Сообщений: 194

Deff,
+1
Ответить с цитированием
  #5 (permalink)  
Старый 11.01.2016, 17:56
Интересующийся
Отправить личное сообщение для Lol9999 Посмотреть профиль Найти все сообщения от Lol9999
 
Регистрация: 27.10.2015
Сообщений: 10

Сообщение от Deff Посмотреть сообщение
Lol9999,
Как то скучно...
Первый вопрос: А с какой целью ? Ибо может решить это всё не столь извращёнными методами.
Опишите задачу и попытку решения (код)
С целью "хакнуть" систему расчета траектории ракет Пентагона.

Заменить "градусы" в скобках на значение в радианах

alert( "Math.sin(90)".match(/\(\d.\)/g) ); // (90) - все к чему я додумался, а нужно искать скобки именно после "Math."
Ответить с цитированием
  #6 (permalink)  
Старый 11.01.2016, 18:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Lol9999,
var str = "Math.sin(90)";
alert( str = str.replace(/(Math.*?)(\d+)/g, function(a,b,c) {
   return b + c * Math.PI / 180
}) );
alert(eval(str).toFixed(2))
Ответить с цитированием
  #7 (permalink)  
Старый 11.01.2016, 19:24
Интересующийся
Отправить личное сообщение для Lol9999 Посмотреть профиль Найти все сообщения от Lol9999
 
Регистрация: 27.10.2015
Сообщений: 10

Сообщение от рони Посмотреть сообщение
Lol9999,
var str = "Math.sin(90)";
alert( str = str.replace(/(Math.*?)(\d+)/g, function(a,b,c) {
   return b + c * Math.PI / 180
}) );
alert(eval(str).toFixed(2))
Спасибо!
Ответить с цитированием
  #8 (permalink)  
Старый 12.01.2016, 20:11
Интересующийся
Отправить личное сообщение для Lol9999 Посмотреть профиль Найти все сообщения от Lol9999
 
Регистрация: 27.10.2015
Сообщений: 10

Сообщение от рони Посмотреть сообщение
Lol9999,
var str = "Math.sin(90)";
alert( str = str.replace(/(Math.*?)(\d+)/g, function(a,b,c) {
   return b + c * Math.PI / 180
}) );
А а для чего "a b c" в "function(a,b,c) "?
Ответить с цитированием
  #9 (permalink)  
Старый 12.01.2016, 21:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Lol9999,
a то что искали полностью - это часть строки Math.sin(90
b первые скобки Math.sin(
с вторые скобки 90
читать про replace

Последний раз редактировалось рони, 12.01.2016 в 21:05.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скобки после имени функции. В чем разница, если они есть и если их нет? jsuse Общие вопросы Javascript 2 19.11.2011 16:11
Запуск функции после выполнения предыдущей blackrid jQuery 1 29.06.2011 14:23
После функции append удалить элемент который появился shaltay jQuery 9 07.06.2011 16:19
Вызов функции после изменения данных nematod AJAX и COMET 11 21.01.2011 09:23
Запуск функции после ресайзинга странички dummer232 jQuery 2 30.09.2010 16:23