如何用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
相关产品推荐
相关产品推荐

