Asp.net 用于';必须大于{n},并且必须包含至少2位整数';

Asp.net 用于';必须大于{n},并且必须包含至少2位整数';,asp.net,regex,validation,Asp.net,Regex,Validation,谁能给我举一个例子,说明的正则表达式必须比{n}大,并且必须包含至少2位整数 我现在有以下内容,但它只验证长度 <asp:RegularExpressionValidator ID="myTxtVal" runat="server" ControlToValidate="myTxt" ErrorMessage="Input Is Too Short" ValidationExpression=".{15}.*" /> 编辑:固定为2位整数。与“有两个数字”

谁能给我举一个例子,说明
的正则表达式必须比{n}大,并且必须包含至少2位整数

我现在有以下内容,但它只验证长度

<asp:RegularExpressionValidator ID="myTxtVal" 
    runat="server" ControlToValidate="myTxt" 
    ErrorMessage="Input Is Too Short" ValidationExpression=".{15}.*" />


编辑:固定为2位整数。与“有两个数字”不同…;-) 它使用向前看来验证一行中是否至少有两个数字,然后使用
{15}
部分匹配15个字符。它不需要匹配字符串的其余部分,所以我删除了
*

类似的内容

^(?=.*\d{2}).{4,}$
看到了吗

第一个构造
(?=.*\d{2})
是向前看的,它检查字符串中是否有一行中的两位数字。(目前我不确定这是否是您所需要的)

第二部分检查
{4,}
字符串的长度是否至少有4个字符

^
将模式锚定到字符串的开头


$
将模式锚定到字符串的末尾

这只是另一种方法,纯粹出于您的兴趣:

/^(.|()\d\d){N-1}\2/
这适用于正则表达式的风格,如果它所引用的第N个组不匹配,则使用
\N
的反向引用将不匹配。表达式只有在第二个组匹配时才能成功匹配,而只有在\d\d匹配时才能成功匹配。例如,N=15:

/^(.|()\d\d){14}\2/

2位整数不一定出现在第一系列非数字之后,例如:
aaa12aaa
/^(.|()\d\d){14}\2/