她与键盘皆高磨 2022-04-29 14:27 采纳率: 0%
浏览 22

正则表达式如何在同一字符串中拿到两个同类数据

问题遇到的现象和发生背景

在网页源代码中寻找有用的信息,但复制下来的源代码是作为一个字符串复制下来的,在使用re.findall()只能提取最后一个符合标准的数据。

问题相关代码,请勿粘贴截图

txt文件中储存下面这一串字符串
a1234bretyuiyterertytuy11516ewttytuyr221215412yrttuy5tu1yra5678bewrtyuttretytutuy1595115152
比如在该字符串中同时提取处于 a 和 b 中间的数据 ’1234‘ 和 ’5678‘
我是用

import re
import xlsxwriter
txt = "ce.txt"

with open(txt, 'r', encoding='utf-8') as f:
content = f.read() # 读取txt文件内容 保存到content中

result = re.findall(".a(.)b.*", content)
result

运行结果及报错内容

运行结果只返回最后一个匹配的数据['5678']

  • 写回答

2条回答 默认 最新

  • A Python 萌新花花 2022-04-29 14:41
    关注
    result = re.findall("a(.*?)b", content)
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 4月29日
  • 创建了问题 4月29日