нужна помощь в поиске [закрыто]

Чтобы построить регулярное выражение из переменной в JavaScript, вам нужно будет использовать конструктор RegExp со строковым параметром.

function reg(input) {
    var flags;
    //could be any combination of 'g', 'i', and 'm'
    flags = 'g';
    return new RegExp('ReGeX' + input + 'ReGeX', flags);
}

, конечно, это очень наивный пример. Он предполагает, что input был правильно экранирован для регулярного выражения. Если вы имеете дело с пользовательским вводом или просто хотите сделать его более удобным для соответствия специальным символам, вам нужно выполнить специальные символы :

function regexEscape(str) {
    return str.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')
}

function reg(input) {
    var flags;
    //could be any combination of 'g', 'i', and 'm'
    flags = 'g';
    input = regexEscape(input);
    return new RegExp('ReGeX' + input + 'ReGeX', flags);
}

-8
задан Omesh 30 August 2012 в 11:36
поделиться