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

如何在JavaScript中替换重复的复杂字符串?

解决方案:移除@...格式保留目标内容

核心正则表达式

使用正则匹配@[xxx](xxx)格式片段,提取并保留[]内的目标内容:
匹配规则:@\[([^\]]+)\]\([^)]+\)
替换为:$1(不同语言分组引用语法略有差异,以下示例会具体说明)

正则规则拆解

  • @\[:匹配固定开头@[([是正则特殊字符,需加反斜杠转义)
  • ([^\]]+):捕获组,匹配并保留[]内除]外的所有字符(这部分就是你需要保留的内容)
  • \]\(:匹配]((]和(均为特殊字符,需转义)
  • [^)]+:匹配()内除)外的所有字符(这部分是要丢弃的冗余内容)
  • \):匹配结尾的)

代码实现示例

Python

import re

input_str = '@[facts.::ip](facts.::ip) = "127.0.0.1" AND @[facts.::os](facts.::os) = "ubuntu"'
output_str = re.sub(r'@\[([^\]]+)\]\([^)]+\)', r'\1', input_str)
print(output_str)
# 输出:facts.::ip = "127.0.0.1" AND facts.::os = "ubuntu"

JavaScript

const inputStr = '@[facts.::ip](facts.::ip) = "127.0.0.1" AND @[facts.::os](facts.::os) = "ubuntu"';
const outputStr = inputStr.replace(/@\[([^\]]+)\]\([^)]+\)/g, '$1');
console.log(outputStr);
// 输出:facts.::ip = "127.0.0.1" AND facts.::os = "ubuntu"

文本编辑器快速替换(以VS Code为例)

  1. 打开替换面板(快捷键Ctrl+H)
  2. 勾选正则表达式模式(点击面板中的.*图标)
  3. 查找内容输入:@\[([^\]]+)\]\([^)]+\)
  4. 替换为输入:$1
  5. 点击「全部替换」即可完成批量转换

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 06:20:32