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

如何使用Python正则表达式移除带点号连接的内容

用Python正则移除带点号连接的内容

嘿,这问题很常见,用Python的正则表达式就能完美解决!咱们先拆解需求:你要把字符串里所有带点号连接的连续字符块(比如123.4445.764、goo.34.hi这种)彻底移除,最后只留下纯文本单词。

核心思路

我们需要写出能精准匹配这类带点序列的正则表达式,这类序列的核心特征是:无空格、至少包含一个点号,前后由非空白字符组成。然后用re.sub()方法把匹配到的内容替换为空,最后处理下多余的空格即可。

具体实现代码

import re

# 你的原始字符串
input_str = 'random random 123.4445.764 random goo.34.hi random'

# 定义匹配带点连接内容的正则模式
pattern = r'\S*\.\S+'

# 第一步:替换带点内容为空
temp_result = re.sub(pattern, '', input_str)
# 第二步:合并连续空格并去除首尾空格
final_result = re.sub(r'\s+', ' ', temp_result).strip()

print(final_result)  # 输出: random random random random

正则模式拆解

  • \S:匹配任意非空白字符(字母、数字、下划线等,排除空格、制表符、换行符)
  • \S*:允许匹配目标的前缀有0个或多个非空白字符
  • \.:转义后的点号,匹配实际的.(正则中.是通配符,必须转义才能匹配真实的点)
  • \S+:要求目标的后缀至少有1个非空白字符,确保这是“带点连接”的有效内容,而非单独的点

更严格的匹配(可选)

如果你的场景需要排除纯点号(比如...)或首尾为点的序列(比如.abc、abc.),可以使用更严格的正则模式:r'\w+\.\w+(\.\w+)*'。这个模式要求必须是「词字符(字母/数字/下划线)+点+词字符」的重复结构,完全贴合你例子中的目标格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:29:11