使用NAnt,我想检查我的属性是否符合以下模式:[0-9a-zA-Z_]
。
到目前为止我已尝试过这个:
<condition property="check-my-prop">
<matches pattern="[1-9a-zA-Z_]" string="${MyProp}"/>
</condition>
<fail message="my-prop must match pattern [1-9a-zA-Z_]"
unless="check-my-prop" />
NAnt抛出错误:Invalid element <condition>. Unknown task or datatype.
代码改编自Ant,而不是NAnt。
我如何实现同样的目标?
答案 0 :(得分:0)
<property name="CheckMyProp" value="" />
<regex pattern="^(?'CheckMyProp'[1-9a-zA-Z_]+)$" input="${MyProp}" failonerror="false"/>
<if test="${string::get-length(CheckMyProp) == 0}">
<fail>MyProp must match pattern [1-9a-zA-Z_]</fail>
</if>