Как сопоставить переменную в регулярном выражении?
я имею
var string1 = 'asdgghjajakhakhdsadsafdgawerwweadf';
var string2 = 'a';
string1.match("\/"+string2+"\/g").length;
Так с этим я хочу найти появление, но он не работает. Как я могу поставить переменную правильно?
Ответы
Ответ 1
Вам нужно использовать конструктор RegExp
вместо литерала регулярного выражения.
var string = 'asdgghjjkhkh';
var string2 = 'a';
var regex = new RegExp( string2, 'g' );
string.match(regex);
Если вам не нужен глобальный модификатор, вы можете просто передать string2
, а .match()
создаст вам регулярное выражение.
string.match( string2 );
Ответ 2
Вот еще один example-
// подтверждаем, содержит ли строка цель в конце (обе являются переменными в функции ниже, например, подтверждаем, содержит ли str "Abstraction" цель "action" в конце).
function confirmEnding(string, target) {
let regex = new RegExp(target);
return regex.test(string);
};