检查 属性 是否匹配模式

Check that property matches pattern

使用 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。

我怎样才能达到同样的目标?

    <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>