Вставить переменную в регулярное выражение в js


    const staticData = {
      'х': 'хром',
      'н': 'никель',
      'т': 'титан',
      'д': 'медь',
      'г': 'марганец',
      'м': 'молибден',
      'в': 'вольфрам',
      'с': 'кремний',
      'к': 'кобальт'
    }

Помогите настроить выражение чтобы вставлять ключ в регулярку при переборе объекта 

let arr1 = [];

  for (const key in staticData) {
    let regexp1 = new RegExp(/х[0-9]{0,}/g)
    var regexp = new RegExp(`/${key}[0-9]{0,}/g`);
    arr1.push(input.match(regexp))
    console.log(regexp1, regexp);

  }

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Wiktor Stribiżew

Используйте следующее решение:

const staticData = {
    'х': 'хром',
    'н': 'никель',
    'т': 'титан',
    'д': 'медь',
    'г': 'марганец',
    'м': 'молибден',
    'в': 'вольфрам',
    'с': 'кремний',
    'к': 'кобальт'
}
let arr1 = [];
let input = 'х1, н2, т345, д1999, г, м12, в11111111, с, к3'
for (const key in staticData) {
    var regexp = new RegExp(String.raw`${key}\d*`, 'g');
    arr1.push(input.match(regexp))
}
console.log(arr1)

→ Ссылка