代码来源于ULTRALYTICS
re.search(r"yolov\d+([nslmx])", Path(model_path).stem).group(1)
- [nslmx]表示捕获语句
- stem表示只提取最后
\
的,和文件名,不包含后缀 - group(1)表示提取re结果的第一个捕获对象,即:n或s或l或m或x
re.sub(r"(\d+)([nslmx])(.+)?$", r"\1\3", str(path))
- 捕获
\d
1或n次 - 捕获[nslmx] 捕获.+ 0或n次
- .+表示除了换行的任意字符1到n次
- sub的第二个参数表示替换的内容,使用了\1\3拼接,即第一个与第二个捕获对象替换原字符串
发表回复