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

如何用re.search()捕获最后一个点与空格之间的单词?

正则表达式解决方案:捕获最后一个点后、空格前的单词

可以使用以下正则表达式结合re.search()实现需求:

import re

# 测试输入
in1 = '<workalendar.america.canada.Quebec object at 0x0000021E5536B130>'
in2 = '<workalendar.america.canada.Canada object at 0x0000021E550F54F0>'
in3 = '<__main__.Zhraa object at 0x0000021E551FAF40>'

# 正则表达式
pattern = r'.*\.(\w+)\s'

# 提取结果
out1 = re.search(pattern, in1).group(1)
out2 = re.search(pattern, in2).group(1)
out3 = re.search(pattern, in3).group(1)

print(out1)  # 输出: Quebec
print(out2)  # 输出: Canada
print(out3)  # 输出: Zhraa

正则表达式解析

  • .*:贪婪匹配任意字符(除换行符),会一直匹配到字符串中最后一个点的位置,确保定位到目标单词前的最后一个分隔点
  • \.:匹配字面意义的点(需转义,因为.在正则中是匹配任意字符的元字符)
  • (\w+):捕获组,匹配一个或多个字母、数字或下划线,即需要提取的目标单词
  • \s:匹配空格,确保捕获的内容截止到空格前的位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:05:37