Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Переменная в регулярном выражении (https://javascript.ru/forum/misc/66547-peremennaya-v-regulyarnom-vyrazhenii.html)

xShift 22.12.2016 16:28

Переменная в регулярном выражении
 
Помогите подправить регулярное выражение так, чтобы оно работало с включенной в его текст переменной.

Вроде сделал по стандарту, как полагается экранируя все экранируемое:

var p = 'rotate';
var pat = new RegExp("\\"+p+"\\(([^)]+)\)/");
console.log(pat.exec('rotate(-14deg) scale(1)'));


Но пишет ошибку: evolution.js?beta=1.5.5:634 Uncaught SyntaxError: Invalid regular expression: /\rotate\(([^)]+))//: Unmatched ')':-E

если сделать так:

var pat = new RegExp("\\"+p+"\(([^)]+)\)/");


то парсинг выдает null.:-?

Подскажите любой удобоваримый вариант в котором можно использовать переменную.

рони 22.12.2016 16:40

xShift,
var p = 'rotate';
var pat = new RegExp(p+"\\(([^)]+)\\)");
alert(pat.exec('rotate(-14deg) scale(1)')[1]);

xShift 22.12.2016 16:41

спасибо. застрелился


Часовой пояс GMT +3, время: 01:27.