【发布时间】:2015-11-02 12:05:49
【问题描述】:
我想验证用户指定的版本字符串 - 以确保它包含三个以句点分隔的数字 (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]+)$" -
@Biffen 它也匹配
1.2.3.4字符串,例如。但不应该!