В 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/
не будет работать.
Вы можете использовать .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/
/You /.source
, а не ... 'You '
?
.source
объекта regex, чтобы получить текст шаблона. Например,var x = new RegExp('I ' + postfix.source)