我试图从.txt文件中提取ImageNet标签,该文件如下所示。你知道吗
998: 'ear, spike, capitulum', 999: 'toilet tissue, toilet paper, bathroom tissue'}
我试过了
label = []
txt = open("imagenet1000_clsid_to_human.txt").readlines()
# print(str(txt))
p = re.compile(r"'(.*?)'")
# print(txt)
for i in range(len(txt)):
# print(txt[i])
# print('\n')
m = p.match(txt[i])
if m:
lis = list(m.group())[:-1]
s = ''.join(lis)
print(s)
label.append(s)
提取单引号内的子字符串,但它不断地吐出“无”。你知道吗
我试过在线regex编译器,它运行得非常好。有人能就这个问题提出一些建议吗?你知道吗
这样做有效:
此正则表达式链接:
https://regex101.com/r/QP8omt/1
主要问题是您应该使用
re.search()
,而不是re.match()
。re.match()
匹配从字符串开头开始的模式,在模式开头有一个隐含的^
。你知道吗明智的做法是使用原始字符串来重新填充图案,而括号中的内容太多了:
提供:
不是所有的事情都需要通过regex完成。你知道吗
旁注:总是打开带有特定编码的文本文件。如果您不确定文件的编码方式,那么Python也是如此。没有魔法编码检测,您不应该依赖Python的默认值。你知道吗
相关问题 更多 >
编程相关推荐