gpt4 book ai didi

python - 正则表达式从文件名列表中查找图像序列

转载 作者:太空宇宙 更新时间:2023-11-03 17:18:49 25 4
gpt4 key购买 nike

我需要一些关于正则表达式字符串的帮助,以从先前生成的文件名列表中提取任何看起来可能是帧序列一部分的文件名。

序列中的帧通常最小填充为 3,并且前面带有 '.''_' 异常(exception)情况是:如果文件名仅由数字和 .jpg 扩展名组成(例如 0001.jpg0002.jpg 等)。如果可能的话,我想在一行正则表达式中捕获所有这些。

这是我到目前为止所拥有的:

(.*?)(.|_)(\d{3,})(.*)\.jpg

现在我知道这不会执行“前面是 ._ 位,而只是找到 _ 字符串中的任意位置都可以返回正值。我尝试了一些负面的后向测试,但无法使语法正常工作。

数据样本是:

test_canon_shot02.jpg 
test_shot01-04.jpg
test_shot02-03.jpg
test_shot02-02.jpg
test_shot01-03.jpg
test_canon_shot03.jpg
test_shot01-02.jpg
test_shot02.jpg
test_canon_shot02.jpg
test_shot01.jpg
GameAssets_.00024.jpg
GameAssets_.00023.jpg
GameAssets_.00022.jpg
GameAssets_.00021.jpg
GameAssets_.00020.jpg
GameAssets_.00019.jpg
GameAssets_.00018.jpg
GameAssets_.00017.jpg
GameAssets_.00016.jpg
GameAssets_.00015.jpg
GameAssets_.00014.jpg
GameAssets_.00013.jpg
GameAssets_.00012.jpg
GameAssets_.00011.jpg
GameAssets_.00010.jpg
GameAssets_.00009.jpg
GameAssets_.00008.jpg
GameAssets_.00007.jpg
GameAssets_.00006.jpg
GameAssets_.00005.jpg
GameAssets_.00004.jpg
GameAssets_.00003.jpg
GameAssets_.00002.jpg
GameAssets_.00001.jpg
GameAssets_.00000.jpg
OrangeXmas2015_Print_A ct2.jpg
sh120_HF_V01-01.jpg
sh120_HF_V01-02.jpg
sh200_DMP_v04.jpg
sh120_HF_V04.jpg
sh120_HF_V03.jpg
sh120_HF_V02.jpg
blah_v02.jpg
blah_v01.jpg
blah_Capture0 4.jpg
blah_Capture03 .jpg
blah_Capture01. jpg
blah_Capture02.jpg
Wall_GraniteBlock_G rey_TC041813.jpg
Renders10_wire.jpg
Renders10.jpg
Renders09_wire.jpg
Renders09.jpg
Renders08_wire.jpg
Renders08.jpg
Renders07_wire.jpg
Renders07.jpg
Renders06_wire.jpg
Renders06.jpg
Renders05_wire.jpg
Renders05.jpg
Renders04_wire.jpg
Renders04.jpg
Renders03_wire.jpg
Renders03.jpg
Renders02_wire.jpg
Renders02.jpg
Renders01_wire.jpg
Renders01.jpg
archmodels58_057_carpinusbetulus_leaf_diffuse.jpg
archmodels58_042_bark_bump.jpg
archmodels58_023_leaf_diffuse.jpg
WINDY TECHNICZNE-reflect00.jpg
archmodels58_057_leaf_opacity.jpg
archmodels58_057_bark_reflect.jpg
archmodels58_057_bark_bump.jpg
blahC-00-oknaka.jpg
bed
debt
cab
00018.jpg
00017.jpg
00016.jpg
00015.jpg
00014.jpg
00013.jpg
00012.jpg
00011.jpg
00010.jpg
00009.jpg
00008.jpg
00007.jpg
00006.jpg
00005.jpg
00004.jpg
00003.jpg
00002.jpg
00001.jpg
00000.jpg

我想要的结果是识别出 2 个序列:

  1. GameAssets_.00000.jpgGameAssets_.00024.jpg
  2. 00000.jpg00018.jpg

最佳答案

根据您在问题中指定的规则,此模式应该可以满足您的需求:

(^|\r?\n|.*_|.*\.)\d{3,}.*\.jpg

关于python - 正则表达式从文件名列表中查找图像序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33395971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com