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

Python 2.7正则匹配替换日期格式问题求助

Python 2.7 匹配并替换日期格式子串解决方案

没问题,我来帮你搞定这个需求!你遇到的单词边界(\b)失效的问题,其实是因为de/del前后都是数字(属于正则里的\w字符),而\b仅在单词字符(字母、数字、下划线)和非单词字符之间,或者字符串首尾才会生效,所以数字和de之间并没有单词边界,自然匹配不到。

针对你的需求,我们可以直接通过正则分组来精准匹配目标结构,然后替换掉中间的de/del:

具体实现代码

import re

# 示例文本
original_text = "今天是12de2024,明天是13del2025,还有05de1999的记录"

# 正则匹配:捕获两位数字日份、中间的de/del、四位数字年份
pattern = r'(\d{2})(de|del)(\d{4})'
# 替换为 日份 + 年份,移除中间的de/del
processed_text = re.sub(pattern, r'\1\3', original_text)

print(processed_text)

代码说明

  • 正则表达式r'(\d{2})(de|del)(\d{4})':
    • (\d{2}):捕获两位数字的日份,作为第一个分组(\1)
    • (de|del):精确匹配de或del,作为第二个分组(替换时会丢弃)
    • (\d{4}):捕获四位数字的年份,作为第三个分组(\3)
  • re.sub()函数会把所有匹配到的子串替换为\1\3,也就是直接拼接日份和年份。

扩展说明

如果你的文本中de/del前后有空格(比如12 de 2024),只需要调整正则表达式为:

pattern = r'(\d{2})\s+(de|del)\s+(\d{4})'

这里的\s+用来匹配一个或多个空格,确保能正确捕获带空格的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:06:50