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/