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

如何用Python re模块提取字符串末尾的数字百分比(如0.12%)

提取字符串末尾百分比的正则解决方案

原正则 r'(\d.*)' 的问题在于,它会从字符串中第一个出现的数字开始匹配,一直到字符串结尾。对于开头包含20%的text1,它会把从20%到末尾的所有内容都匹配出来,而不是你要的末尾0.12%。

要精准提取末尾的百分比,需要用**结尾锚定符$**来限定匹配范围,同时精准匹配百分比格式:

推荐正则表达式:r'(\d+\.?\d*%)$'

各部分含义:

  • \d+:匹配1个或多个整数部分数字
  • \.?:匹配可选的小数点(兼容整数百分比如5%和小数百分比如0.12%)
  • \d*:匹配可选的小数部分数字
  • %:匹配百分号
  • $:锚定字符串结尾,确保只匹配位于末尾的百分比

代码示例

import re

text1 = "20% 示例文本 0.12%"
text2 = "任意内容 0.12%"

# 定义匹配末尾百分比的正则
pattern = r'(\d+\.?\d*%)$'

# 提取结果
result1 = re.search(pattern, text1).group(1)
result2 = re.search(pattern, text2).group(1)

print(result1)  # 输出: 0.12%
print(result2)  # 输出: 0.12%

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 10:45:34