Вставить переменную в регулярное выражение в 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)
