python - 如何使用 python 正则表达式提取图像名称?

标签 python regex

所以我想从路径中提取图像名称,以便在分类任务中进一步将它们用作标签。 这是过去:

[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]:jpg中的任意一个; g 这里

你需要:

/([^/]+)\.jpg$

现在唯一捕获的组将包含图像名称。

  • / 匹配文字 /
  • ([^/]+) 匹配一个或多个不是/的字符 -- 文件名
  • \.jpg 匹配末尾的 .jpg ($)

关于python - 如何使用 python 正则表达式提取图像名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54908289/

相关文章:

python - 从具有相同名称的脚本导入已安装的包引发 "AttributeError: module has no attribute"或 ImportError 或 NameError

PHP 在 <img> 标签上拆分或分解字符串

python - 有没有办法在进行正则表达式匹配时使用出现次数的范围?

如果找到多个匹配项,正则表达式将失败

Python 3.6 字符串输入

python - 对象(但不是子类)的实例是否保证与任何其他对象不相等?

python - 在一个简单的python代码块中获取 "ValueError: concat() expects at least one object!"

python - 如何使用值列表中的列创建新的数据框(下面有更好的描述)?

regex - 使用 sed 和正则表达式解析无线调查的 iwlist 命令输出

Python re.sub 使用非贪婪模式 (.*?) 和字符串结尾 ($) 它变得贪婪了!