cro*_*mod 5 regex cmake repeat
我有这个字符串“2017-03-05-02-10-10_78205”,我想将它与此模式匹配,[0-9]{4}(-[0-9]{2}){5}_[0-9]+但它在 CMake 上不起作用。在 CMake 中查看此示例:
set(stuff "2017-03-05-02-10-10_78205")
if( "${stuff}" MATCHES "[0-9]{4}(-[0-9]{2}){5}_[0-9]+")
message("Hello")
endif()
Run Code Online (Sandbox Code Playgroud)
CMake 似乎不支持语法{n}。显然,我用那个模式解决了我的问题[0-9-]+_[0-9]+
不过,我想知道我的语法是否有问题{n}。CMake 支持吗?如果没有,如何使用 CMake 定义特定的重复次数?
我使用的是旧的 CMake 版本 (2.8.11.2)。
我们可以通过使用 shell 命令和 来解决这个问题execute_process。例如,在linuxecho上grep:
set(stuff "2017-03-05-02-10-10_78205")
set(regexp "[0-9]{4}(-[0-9]{2}){5}_[0-9]+")
execute_process( COMMAND echo "${stuff}"
COMMAND grep -E -o "${regexp}"
OUTPUT_VARIABLE thing )
if(thing)
message("Hello")
endif()
Run Code Online (Sandbox Code Playgroud)
但我们失去了 CMake 的跨平台方面。
| 归档时间: |
|
| 查看次数: |
4586 次 |
| 最近记录: |