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

用于移除第一个点之后所有点的正则表达式

正则表达式实现仅保留第一个点、移除后续所有点

核心方案(支持后行断言的语言:JS、Python 3.7+、Java等)

使用正向肯定后行断言精准匹配第一个点之后的所有点,直接替换为空字符串即可:

正则表达式:

/(?<=^[^.]*\.)\./g

规则解释

  • (?<=^[^.]*\.):后行断言,确保当前匹配的点前面已经出现过第一个点(^[^.]*\. 匹配从字符串开头到第一个点的全部内容)
  • \.:匹配需要移除的目标点
  • g:全局修饰符,确保替换所有符合条件的点

代码示例(JavaScript)

const input = "1.2.3.4.5.6";
const output = input.replace(/(?<=^[^.]*\.)\./g, '');
console.log(output); // 输出:"1.23456"

兼容方案(不支持后行断言的环境)

通过分组捕获拆分字符串,保留第一个点及之前的内容,再移除后续部分的所有点:

正则表达式:

^(.*?\.)(.*)$

替换逻辑

保留第一个分组($1),将第二个分组($2)中的所有点替换为空后拼接。示例(Python):

import re

input_str = "1.2.3.4.5.6"
result = re.sub(r'^(.*?\.)(.*)$', lambda match: match.group(1) + match.group(2).replace('.', ''), input_str)
print(result) # 输出:"1.23456"

场景验证

  • 输入无点:"test123" → 输出"test123"(无匹配项,不修改原内容)
  • 输入单个点:"x.y" → 输出"x.y"(无后续点,不做替换)
  • 输入多段点:"hello.world.how.are.you" → 输出"hello.worldhowareyou"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 20:23:21