You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript正则表达式给单个单词添加node.前缀?

解决方案:用正则表达式给独立变量添加node.前缀

要实现给字符串中独立的单个单词变量添加node.前缀,同时不影响page.a这类带点的属性名,可以通过JavaScript的正则表达式全局替换完成。

核心代码示例

// 基础场景替换
let origin = 'page.a = b';
let expected = origin.replace(/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g, 'node.$1');
console.log(expected); // 输出:page.a = node.b

// 多变量复杂场景测试
let origin2 = 'page.a = b && page.a < c';
let expected2 = origin2.replace(/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g, 'node.$1');
console.log(expected2); // 输出:page.a = node.b && page.a < node.c

正则表达式说明

  • \b:单词边界,确保匹配的是独立单词(前后为非单词字符,比如空格、运算符、字符串首尾),避免误匹配page.a中的a。
  • ([a-zA-Z_$][a-zA-Z0-9_$]*):匹配合法的JavaScript标识符(首字符为字母、下划线或$,后续可跟字母、数字、下划线或$),并将其捕获为分组1。
  • g:全局匹配标志,替换字符串中所有符合条件的单词。

可选:排除特定关键字

如果需要排除true、false、null这类关键字不被替换,可调整正则为:

let origin = 'page.a = b && flag === true';
let expected = origin.replace(/\b(?!(true|false|null)\b)([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g, 'node.$1');
console.log(expected); // 输出:page.a = node.b && node.flag === true

内容的提问来源于stack exchange,提问作者Lou Kai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 20:25:17