- 此问题在此处已有答案**:
How do you use a variable in a regular expression?(27个答案)
22小时前关门了。
我正在尝试迭代字典列表(键:labelname和id),并希望使用regex获得标签值后面的字符串
text = "Company Name: ABC \n Address: 123St, LA \n Post Code: 12345 \n"
const itemList = [
{ id: 'companyName', label: 'Case or Reference Id' },
{ id: 'companyaddress', label: 'Address' },
{ id: 'companyPostcode', label: 'Post Code' }
];
for (let i = 0; i < itemList.length; i++) {
let caseRegex = /(?<=${itemList[i].label}: )\w+/g;
let regexStr = caseRegex.exec(text);
console.log("regexStr",regexStr);
};
当我尝试字符串的时候,它可以工作。但是我不能使用变量从循环中得到上面的工作
for (let i = 0; i < itemList.length; i++) {
let caseRegex = /(?<=Company Name: )\w+/g;
let regexStr = caseRegex.exec(text);
console.log("regexStr",regexStr);
};
1条答案
按热度按时间0s0u357o1#
使用
RegExp
构造函数创建动态正则表达式。您可以使用模板文本将变量插入字符串。注意,在构造
RegExp
时,可能需要对正则表达式元字符进行转义。