Jquery - Regex не работает, когда используется с заменой имени - при передаче внутри переменной - PullRequest
0 голосов
/ 30 января 2019

Пожалуйста, посмотрите, можете ли вы объяснить этот код ниже

//The code below does not work
var regEx = "/myList\\[[0-9]\\]/gi";
this.name =this.name.replace(regEx , function (x) {
  return 'myList[' + index + ']';
});

//The code below Works
this.name = this.name.replace(/myList\[[0-9]\]/gi, function (x) {
  return 'myList[' + index + ']';
});    

Регулярное выражение при объявлении в качестве переменной не работает

1 Ответ

0 голосов
/ 30 января 2019

Первый код не работает, потому что это строка, а не регулярное выражение, поэтому необходимо использовать объект RegExp для работы

//Had to use RegExp to make it work 
var name = "x.y.myList[0].test";
var regEx2 = new RegExp("myList\\[[0-9]\\]", "gi");
alert(name.replace(regEx2 , function (x) { return 'myList[' + 1 + ']'}));

Второй код работает, потому что это регулярное выражение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...