Передача переменной в метод JavaScript RegExp

  • Автор темы Pro1
  • Обновлено
  • 13, May 2024
  • #1
Как передать переменную в метод сопоставления JavaScript RegExp?

У меня есть этот код:
 
let regex_variable = "word1|word2|word3";
let rgx = new RegExp("/(?<= )(" + regex_variable + ")(?= )/").source;
Код (разметка): Я хотел бы сохранить «слово1|слово2|слово3» в переменной, а затем интегрировать его в приведенный выше код.

Я искал в Google и пробовал разными способами, но ничего не помогло.

В качестве быстрого примера: следующий код не работает...
  let rgx = new RegExp(/(?<= )(word1|word2|word3)(?= )/).source;
Код (разметка): Спасибо, Алекс

Pro1


Рег
05 Jun, 2015

Тем
70

Постов
207

Баллов
557
  • 18, May 2024
  • #2
Выше я перечислил только три регулярных выражения, но у меня их около двадцати, и такой подход позволяет мне держать все организованным и простым для понимания. Прямо сейчас я ищу способ использовать переменные внутри методов RegExp, описанных выше.

Это добавило бы гибкости и еще больше упростило бы ситуацию. Как лучше всего это сделать, сохранив при этом формат, указанный выше? Извините, мой опыт работы с JS очень ограничен.

Я использую это со сценарием, который выделяет ключевые слова на веб-страницах. Алекс
 

Steadyhost


Рег
08 Dec, 2013

Тем
71

Постов
200

Баллов
565
  • 09, Jun 2024
  • #3
Я не думаю, что вы можете использовать «или» (|) между /exp/ в JS. Хотя я надеюсь, что это код на стороне сервера... потому что, если ваш код на стороне клиента становится таким запутанным с регулярным выражением, что-то СЕРЬЕЗНО не так либо с данными, либо с тем, как сервер их обрабатывает.
 

Екатерина Васильевна


Рег
16 Dec, 2012

Тем
82

Постов
225

Баллов
665
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно