gpt4 book ai didi

javascript - 正则表达式选择特定单词

转载 作者:行者123 更新时间:2023-12-02 18:45:45 25 4
gpt4 key购买 nike

我需要从字符串中选择特定的单词。词语是动态的。

const KEY_VAL_MAP = { car: vehicle };
const KEY = 'car';

let sampleString = 'hey this i need to replace car ${car}';

sampleString = sampleString.replace(new RegExp(`\\b(?:${KEY})\\b`, 'g'), KEY_VAL_MAP[_key]);

预期结果是:“嘿,我需要更换车辆 ${car}”;

使用上述正则表达式,它将用 vehicle 替换每个 car。需要在正则表达式中更新哪些内容,以便排除 ${} 下字符串中的所有内容。

最佳答案

您可以使用此正则表达式来避免匹配 ${...}子字符串:

(?<!\$\{)\bcar\b(?!})

RegEx Demo

正则表达式详细信息:

  • (?<!\$\{) :负向回顾断言我们没有 ${在我们的匹配词之前
  • \bcar\b :匹配完整单词car
  • (?!}) :负向预测断言我们没有 }在我们的匹配词之后

代码:

const KEY_VAL_MAP = { car: 'vehicle' };
const KEY = 'car';

let sampleString = 'hey this i need to replace car ${car}';

sampleString = sampleString.replace(new RegExp(`(?<!\\$\\{)\\b(?:${KEY})\\b(?!})`, 'g'), KEY_VAL_MAP[KEY]);

console.log(sampleString);

关于javascript - 正则表达式选择特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67464999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com