Javascript: Можно ли добавлять регулярные выражения?

1

В Javascript можно добавить регулярное выражение к другому? Я знаю, что можно комбинировать два регулярных выражения с OR, но я имею в виду добавление двух регулярных выражений в один (более И), похожий на то, как вы будете выполнять строчную арифметику.

Например, это то, что я хотел бы:

var postfix = /don't know/    
var x = /I / + postfix        // would now become /I don't know/
var y = /You / + postfix      // would now become /You don't know/

То, что я пытаюсь сделать, - уменьшить количество мест, которые мне нужны, чтобы скопировать postfix, сохраняя при этом I и You, поэтому что-то вроде /(I|You) don't know/ не будет работать.

  • 0
    Вы можете просто получить доступ к .source объекта regex, чтобы получить текст шаблона. Например, var x = new RegExp('I ' + postfix.source)
  • 2
    Почему бы не объединить строки, а затем превратить их в регулярные выражения, когда у вас есть окончательная форма?
Показать ещё 3 комментария
Теги:

1 ответ

1
Лучший ответ

Вы можете использовать .source:

var postfix = /don't know/    
var x = new RegExp(/I /.source + postfix.source) 

console.log(x)
//=> /I don't know/

var y = new RegExp(/You /.source + postfix.source)
console.log(y)
//=> /You don't know/
  • 0
    Почему вы пишете /You /.source , а не ... 'You ' ?
  • 0
    Потому что я считаю, что в OP уже было 2 регулярных выражения, которые нужно добавить в одно регулярное выражение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню