Довольно прямой вопрос: существует ли способ выполнить арифметическую операцию над сопоставленной группой в регулярном выражении в JS.арифметическая операция над группой регулярных выражений javascript
Ex: У меня есть строка:
<img style="top:200">
Я хочу, чтобы заменить 200 или любой другой номер, разделив на 5, что было бы в этом случае 40. Так выход:
<img style="top:40">
Я пробовал:
var d= c.replace(/top:([-]?\d*[\.]?\d*)/,'int:'+parseInt($1/5)+'px')
Но я получаю
<img style="top:NaNpx">
Почему бы вы использовать регулярное выражение для разбора HTML и CSS? – adeneo
В этом случае это четко определенный текст, который не должен содержать слишком много проблем. Не похоже, что он пытается разобрать целое дерево синтаксиса HTML. –
использовать обратный вызов с заменой метода 'var c = ''; var d = c.replace (/ top: ([-]? \ D * [\.]? \ D *) /, function (m, m1) { return 'top:' + m1/5 + ' px '; }); '..... но это плохая идея использовать регулярное выражение для синтаксического анализа html –