gpt4 book ai didi

regex - CMake 中的版本正则表达式

转载 作者:行者123 更新时间:2023-12-03 23:23:19 29 4
gpt4 key购买 nike

我想验证用户指定的版本字符串 - 以确保它由三个以句点分隔的数字( e.g. 1.20.300 )组成。但我不确定如何编写这样的正则表达式,下面的代码只是一个尝试:

if( PROJECT_VERSION MATCHES "([0-9]+).([0-9]+).([0-9+])" )
message( "NOTE: Valid version string" )
else()
message( FATAL_ERROR "Invalid version string" )
endif()

那么,如何正确编写所需的正则表达式?
谢谢。

UPD
我的正则表达式也匹配 1.2.3.4 ,但是是不应该的!只能使用三个以句点分隔的数字。

最佳答案

点在正则表达式中很特殊,所以你应该逃避它们:

"^([0-9]+)\\.([0-9]+)\\.([0-9]+)$"

为什么要双反斜杠?看这里: https://stackoverflow.com/a/4490920/4323

关于regex - CMake 中的版本正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33477207/

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