【发布时间】:2021-01-27 17:06:02
【问题描述】:
我查遍了,但找不到答案。
假设我有这样的目录路径:{MY_PATH}/AAA_unknown_pattern/other/inside/files.../
如何在不知道“unknown_pattern”和其他内部文件的情况下获取路径“{MY_PATH}/AAA_unknown_pattern”;
MY_PATH 是已知的,我也知道目录以“AAA_”开头
我使用正则表达式尝试了类似的方法,但它不起作用:
get_filename_component(TEST "${MY_PATH }/^AAA_" DIRECTORY)
message("test: ${TEST}") 显示“C:/path/until/here/^AAA_”而不是正确的路径。
这一切的原因是因为我想拆分之后得到unknown_pattern . 谢谢。
【问题讨论】:
-
命令get_filename_component 不接受正则表达式,您可以通过阅读文档了解这一点。如果要通过 globbing 列出文件,请使用 file(GLOB) 命令。
-
感谢您的回答,它让我受益匪浅,并且可以弄清楚。我使用了文件 (GLOB TEST RELATIVE ${MY_PATH} ${PLUGINS_DIR}/AAA*) 现在 TEST 包含 AAA{other_characters} 目录名