【发布时间】:2016-04-30 21:58:54
【问题描述】:
过去三天(是的)我一直在尝试制作一个图像/短视频标记系统供我自己使用,但事实证明这对我来说是一个挑战。
这些是字符串:
d:\images\tagging 1\GIFs\kung fu panda, fight.webm
d:\images\tagging 1\GIFs\kung fu panda, fight (2).webm
d:\images\tagging 1\GIFs\kung fu panda 2, fight.webm
d:\images\tagging 1\GIFs\kung fu panda 2, fight (2).webm
d:\images\tagging 1\GIFs\pulp fiction, samuel l. jackson, angry, funny.webm
我尝试修改了四件事以实现我想要的但没有成功:
(?<=d:\\images\\tagging\s1\\GIFs\\)([\w\s])+
([a-z0-9]\s?)+
(?<=\\)[^\\]*?(?=\..*$)
[^\\/:*?"<>|\r\n]+$
1 差不多了,但没有超出第一个逗号。
2 这几乎可以做所有事情,但我还没有找到排除目录、(#) 和扩展名的方法。
3 取自互联网,捕获“l”。并停在那里,整个文件名,不能随意使用逗号,捕获 (#)。
4 取自 regexbuddy(是的,我实际上是在绝望中购买的),捕获 (#) 和扩展名。
@timgeb
目的是获取不带逗号、(#) 和扩展名的文件名,因此:
"kung fu panda" "fight"
"kung fu panda" "fight"
"kung fu panda 2" "fight"
"kung fu panda 2" "fight"
"pulp fiction" "samuel l. jackson" "angry" "funny"
【问题讨论】:
-
为你的例子。请包括输出/结果应该是什么样子
-
@WiktorStribiżew,该模式在匹配这样的字符串时失败:“d:\images\tagging 1\GIFs\pulp小说, samuel l. jackson,anger, funny(3).webm"
标签: python regex regex-negation regex-lookarounds