Я нашел несколько подобных вопросов, но это не помогло мне. Таким образом, у меня есть эта проблема:
var xxx = "victoria";
var yyy = "i";
alert(xxx.match(yyy/g).length);
Я не знаю, как передать переменную в команде соответствия. Помогите.Спасибо.
Хотя функция сопоставления не принимает строковые литералы в качестве шаблонов регулярных выражений, вы можете использовать конструктор объекта RegExp и передать его функции String.match:
var re = new RegExp(yyy, 'g');
xxx.match(re);
Любые нужные флаги (например, / g) можно указать во втором параметре.
Вы должны использовать объект RegExp, если ваш паттерн является строкой
var xxx = "victoria";
var yyy = "i";
var rgxp = new RegExp(yyy, "g");
alert(xxx.match(rgxp).length);
Если паттерн не является динамической строкой:
var xxx = "victoria";
var yyy = /i/g;
alert(xxx.match(yyy).length);