所以我想从路径中提取图像名称,以便在分类任务中进一步将它们用作标签。 这是过去:
[PosixPath('/content/drive/My Drive/Logo/adidas10.jpg'),
PosixPath('/content/drive/My Drive/Logo/adidas11.jpg'),
PosixPath('/content/drive/My Drive/Logo/adidas13.jpg'),
. . .] 并继续处理 600 张图像。
所以我想得到的是品牌名称,例如本例中的阿迪达斯。
这是我使用的 RegEx 表达式:
r’([\w\s.-]).[jpg]’
但是,检查图片标签后我得到的是:
print(data.classes)
['L']
有什么建议吗? , 谢谢。
最佳答案
([\w\s.-])
(任何[A-Za-z0-9_]
,空格,文字。
,文字 -
) 正在捕获 Logo
中的 L
,因为它遵循:
.
:任意单个字符;o
在这种情况下[jpg]
:j
、p
、g
中的任意一个;g
这里
你需要:
/([^/]+)\.jpg$
现在唯一捕获的组将包含图像名称。
/
匹配文字/
([^/]+)
匹配一个或多个不是/
的字符 -- 文件名\.jpg
匹配末尾的.jpg
($
)
关于python - 如何使用 python 正则表达式提取图像名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54908289/