我有个档案[samplefile.txt文件]像这样-
dummy line 1
dummy line 2
create_list animal -list
tiger
create_list bird -list
crow
dummy line 3
create_list car -list
ford/mustang
dummy line 4
dummy line 5
create_list truck
-list ford/F150
create_list human -list {
jack
john}
我想得到这样的输出-
['tiger', 'crow', 'ford/mustang', 'ford/F150']
我使用的代码-
import re
def extractListItems(File):
f = open(File,"r")
content = f.read()
list_items = []
for m in re.finditer(r'(?:\bcreate_list+\s+\S+\s+-list+\s*)((?:\b\S+\b(?:\s*))+)(?:\n)', content):
list_items.extend(re.split(r'\s+', m.group(1).strip()))
print (list_items)
f.close()
extractListItems("samplefile.txt")
我需要做什么修改才能得到所需的输出?你知道吗
编辑-按文件内容和所需输出更改。你知道吗
如果你的内容总是以空格开头,那么试试这个
输出
或者
结果
我假设你要匹配的词总是缩进的。你知道吗
输出
['tiger', 'crow', 'ford/mustang']
相关问题 更多 >
编程相关推荐