正则表达式为1-15?

时间:2012-10-29 18:14:44

标签: regex

我很难为0-15的数字输入组合正则表达式。

我试过这个表达式:

^([9]{1,1}|[0-1][0-5])$   

<asp:FilteredTextBoxExtender ID="TMPFiltered" runat="server" FilterMode="ValidChars"
                                                FilterType="Custom" ValidChars^([9]{1,1}|[0-1][0-5])$" TargetControlID="txtTMP" />

然而它允许的最大值高于15.我的语法在哪里不正确?感谢任何帮助。谢谢。

3 个答案:

答案 0 :(得分:4)

试试这个:

^([0]?[1-9]|1[0-5])$

或尝试这个,如果你不想匹配“07”

^([1-9]|1[0-5])$

答案 1 :(得分:3)

正则表达式不是正确的解决方案,您应该尝试将字符串转换为int,如果成功,请确保结果在您想要的范围内。

话虽如此,这是一个应该有效的正则表达式:

^(1[0-5]?|[2-9])$

当前正则表达式的主要问题是锚点仅应用于交替的左侧,因此您将匹配正则表达式中任何位置匹配[0-1][0-5]的字符串。您当前的正则表达式中也没有任何方法可以匹配2到8之间的数字。

示例:http://www.rubular.com/r/HUNZZymzFW

答案 2 :(得分:2)

你几乎就在那里

您需要

^([1-9]|1[0-5])$

我在您的正则表达式[9]{1,1}[1-9]中所做的唯一更改..不需要{1,1},因为它已在[9]中匹配了一次