首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在python中使用regex查找一个文件中的多个匹配项

在python中使用regex查找一个文件中的多个匹配项
EN

Stack Overflow用户
提问于 2018-12-17 04:17:02
回答 2查看 36关注 0票数 -2

我尝试了以下几种方法:

myfile.txt有以下内容,我想用Python语言中的正则表达式提取每个“abc start”和“abc end”之间的数据。感谢你的帮助abc start 1 2 3 4 abc end 5 6 7 abc start 8 9 10 abc end

期望输出为%1%2%3%4%8%9 10

EN

回答 2

Stack Overflow用户

发布于 2018-12-17 04:30:54

代码语言:javascript
复制
import re
with open('myfile.txt') as f:
    txt = f.read()
    strings = re.findall('abc start\n(.+?)\nabc end', txt, re.DOTALL)

# to transform to your output..
result = []
for s in strings:
    result += s.split('\n')
print(result)
#['1', '2', '3', '4', '8', '9', '10']
票数 1
EN

Stack Overflow用户

发布于 2018-12-17 05:08:09

使用正则表达式

代码语言:javascript
复制
import re

string = ''
with open('file.txt','r') as f:
    for i in f.readlines():
       string +=i.strip()+' ' 
    f.close()
exp = re.compile(r'abc start(.+?)abc end')
result = [[int(j) for j in list(i.strip().split())] for i in exp.findall(string)]

print(result)
# [[1, 2, 3, 4], [8, 9, 10]]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53806112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档