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

求用于转换特定负小数格式的Python正则表达式

Python正则表达式转换短格式负小数为标准格式

要把-.13082这类格式的字符串转为-1.3082,可以用Python的re.sub()函数结合正则表达式实现,核心逻辑是捕获小数点后的首位数字和剩余数字,再重新拼接成目标格式。

代码实现

import re

def reformat_negative_decimal(input_str):
    # 匹配目标格式并捕获关键部分,重新拼接
    return re.sub(r'^-\.(\d)(\d+)$', r'-\1.\2', input_str)

# 测试示例
print(reformat_negative_decimal('-.13082'))  # 输出: -1.3082
print(reformat_negative_decimal('-.26750'))  # 输出: -2.6750

正则表达式说明

  • ^-\.:匹配字符串开头的负号和小数点(小数点需用\转义,避免匹配任意字符)
  • (\d):第一个捕获组,抓取小数点后的首位数字
  • (\d+):第二个捕获组,抓取小数点后首位数字之外的所有剩余数字
  • $:匹配字符串结尾,确保只处理完全符合格式的目标字符串

边界情况补充

如果输入是仅一位小数的场景(比如-.5),上面的正则会输出-5.,若需要补零可把替换规则改为r'-\1.0\2',但根据你的需求示例,这种情况可按需调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 05:23:12