Можем ли да въведем променлива в RegExp
Можем ли да въведем променлива в RegExp?
Примерно:
let str = input.shift();
leter = leter.rplace(/str/g, "")
Можем ли да въведем променлива в RegExp?
Примерно:
let str = input.shift();
leter = leter.rplace(/str/g, "")
let str = input.shift();
leter = leter.replace(str, "");
or
let pattern = /some pattern/g;
leter = leter.replace(pattern, "");
Не съм сигурен дали това е за което питаш, друго за което се сещам е регекс с конструктор.
В презентацията има показани примери.
let regExp = new RegExp('[A-Za-z]+', 'g');
var str1 = "GeeeeK@128";
var regex = new RegExp("e{2, }", "gi");
var match = str1.replace(regex, "");
Идеята ми е да ле в самият RegExp - вътре в него може да се запише променлиа която сме приели от някъкъв input такаче да бъде изпълнен от самият RegExp - /(@#=+)([променлива])\1/g
dynamicRgx = new RegExp(`(@#=+)(${str})\\1`, 'g');
обаче ако str ти идва от външен ресурс, ти препоръчвам да му приложиш regex escape, за не се получи регекс инжекция с нежелани резултати.
https://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex
Много благодаря.