审查生成的发布说明脱敏器

来自 正则表达式
Node 24 高级 6分钟 找出 4处问题

在这段生成的脱敏器处理不可信发布说明前,对它进行审查。

把每个配置词按字面文本替换;词表为空则保持消息不变;调用方的替换文本必须原样插入,并拒绝超过 maxLength 的消息。

JavaScript
function createReleaseRedactor(terms, maxLength = 10_000) {
  const source = terms.join('|');
  const pattern = new RegExp(source, 'gi');

  return function redact(message, replacement = '[hidden]') {
    return message.replace(pattern, replacement);
  };
}

const redact = createReleaseRedactor(['C++', 'C+', '[draft]']);
const notes = [
  'Move [draft] C++ code; keep C+ notes.',
  'Keep JavaScript release notes visible.',
];
for (const note of notes) {
  console.log(redact(note, '$& removed'));
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误