Возможно ли встраивать код в Regex? - PullRequest
0 голосов
/ 16 октября 2018

У меня очень специфический вопрос.Я искал в Google и не нашел приемлемого ответа, вероятно, то, что я пытаюсь сделать, невозможно.Вот в чем дело.

Я хотел бы знать, возможно ли встроить код в регулярное выражение.

Почему?В настоящее время у меня есть эта функция, чтобы утверждать какую-то конкретную строку (объясните, почему мне нужно, чтобы утверждение было сложным, давайте сделаем это позже):

let functionName = ()=> {
  let regex = /\w[The String]*/g;
  return stringify(regex);
};

Итак, так как у меня есть много «строк» ​​для утверждения и проверки, моя функция сна будет выглядеть так:

let functionName= (theParam)=> {
  let regex = /\w[theParam]*/g;
  return stringify(regex);
};

Я буду писать о том, «почему в коде я должен использовать регулярные выражения для утверждений во время тестирования !?»в моем личном блоге .

Хорошо ... Если это всего лишь сон, и это невозможно, пожалуйста, дайте мне знать.

1 Ответ

0 голосов
/ 10 декабря 2018

Вы можете использовать конструктор RegExp в качестве @MoisesGonsales, упомянутого вместе с функцией escapeRegExp из пакетов lodash или lodash.escapeRegExp :

const escapeRegExp = require('lodash.escapeRegExp');


function buildFunctionNameRegExp (param) {
    let escapedParam = escapeRegExp(param);

    return new RegExp(`\\w${escapedParam}*`, 'g');
};
...