Ответ 1
Вы можете создать объект регулярного выражения из строки, используя конструктор RegExp:
var regExp = new RegExp(myString); // regex pattern string
text.replace(regExp, '');
У меня есть следующий код, который работает, но мне нужно добавить некоторые другие вещи в объект регулярного выражения (regex2
) во время выполнения. Однако text.replace не похоже на строковый объект для регулярного выражения, поэтому как я могу сделать эту работу?
var regex2 = /\|\d+:\d+/;
document.write("result = " + text.replace(regex2, '') + "<br>");
Вы можете создать объект регулярного выражения из строки, используя конструктор RegExp:
var regExp = new RegExp(myString); // regex pattern string
text.replace(regExp, '');
Дополнение к CMS:
Конструктор RegExp
имеет второй необязательный параметр flags
(15.10.4 Конструктор RegExp)
var text = "This is a Test.";
var myRegExp = new RegExp('teST','i');
text.replace(myRegExp,'Example');
// -> "This is a Example."
как флаги, которые вы можете установить
var value = "2012-09-10";
value = value.replace(/([0-9]{4})[\/-]([0-9]{2})[\/-]([0-9]{2})/,"$3/$2/$1");
alert(value);
это покажет
10/09/2012
вы можете использовать eval для,
new RegExp( eval("/"+str+"/i") );
До свидания...