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

如何创建正则表达式将连字符替换为句点(示例HA045141-1→HA04514.1)

正则替换方案:将末尾连字符替换为句点

针对你要把类似HA045141-1转换为HA045141.1(注:你给出的示例转换疑似存在笔误,推测核心需求是保留前后内容仅替换连字符)的需求,基于你现有的正则,调整并给出两种可行方案:

方案1:基于你现有正则的修改版

你原有的正则仅捕获了连字符前的内容,需要补充捕获末尾的数字才能完成替换,修改后的匹配正则为:

^([A-Za-z0-9].*?)-([0-9])$

替换模板为:

$1.$2
  • 说明:新增的([0-9])捕获组用于保留末尾数字;替换时通过反向引用$1和$2,用句点连接前后两部分内容,实现连字符到句点的替换。

方案2:更精准高效的正则匹配

如果你的字符串前缀仅包含字母和数字,且连字符后仅跟单个数字,可以使用更高效的正则:

^([A-Za-z0-9]+)-(\d)$

替换模板同样为:

$1.$2
  • 说明:[A-Za-z0-9]+用贪婪匹配替代非贪婪的.*?,避免不必要的正则回溯;\d等价于[0-9],写法更简洁。

示例用法(以JavaScript为例)

const originalStr = "HA045141-1";
const replacedStr = originalStr.replace(/^([A-Za-z0-9]+)-(\d)$/, "$1.$2");
console.log(replacedStr); // 输出 "HA045141.1"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 00:27:45