Regex 正则表达式最大值为11,必须为2位数字

Regex 正则表达式最大值为11,必须为2位数字,regex,Regex,我想弄清楚一个验证表达式。首先,我希望用户只允许输入11个字符的最大数量…不是11个字符,但允许的数量是可以输入的最大数量。我得到了下面的代码工作,工作良好 ValidationExpression="^([1-9]|[0-1][0-1])$" 但是,我希望用户也必须使用2位数字。例如,他们需要输入01而不是1。我尝试过不同的方法,但似乎无法让它发挥作用 我也试过了,但也没用 ValidationExpression="^([1-9]|[0-1][0-1])${2}" 你可以使用这个正则表达

我想弄清楚一个验证表达式。首先,我希望用户只允许输入11个字符的最大数量…不是11个字符,但允许的数量是可以输入的最大数量。我得到了下面的代码工作,工作良好

ValidationExpression="^([1-9]|[0-1][0-1])$"
但是,我希望用户也必须使用2位数字。例如,他们需要输入01而不是1。我尝试过不同的方法,但似乎无法让它发挥作用

我也试过了,但也没用

ValidationExpression="^([1-9]|[0-1][0-1])${2}"
你可以使用这个正则表达式

/\b(?:[0][\d]|[1][01])\b/

这表示输入一个数字
0
后接
0-9
,或输入
1
后接
0
1
。它的两侧都有单词边界,是一个非捕获组。试试看。

如果您需要在一个步骤中执行此操作(即,您不能执行
检查以及正则表达式),则应执行以下操作:

ValidationExpression="^(?:0\d|1[01])$"
或者,如果您的语言无法识别
\d
符号:

ValidationExpression="^(?:0[0-9]|1[01])$"

“匹配(0后跟任意数字)或(1后跟0或1),定位在输入字符串的开头和结尾。”

要匹配从
01
12的填充2位数字,可以使用

ValidationExpression="^(0[1-9]|1[01])$"

表达式匹配:

  • ^
  • -组的开始(此处,捕获组用于提高可读性,也可以使用非捕获组)
    • 0
      -零
    • [1-9]
      -
      1
      9
      数字
    • |
      -或
    • 1
      -
      1
    • [01]
      -
      0
      1
      数字
  • -组结束
  • $
    -字符串结束

要匹配
01
-
11
使用
ValidationExpression=“^(0[1-9]| 1[01])$”
@WiktorStribiżew,您最好编写表达式作为答案,这是正确的答案。@Luis Good,我当时发布了。这也将匹配“00”@ardavey,我知道。OP没有说任何不匹配的内容
00
。你的也会匹配
00
?@ardavey哦,你的意思是用空格隔开?我知道。这也是有意为之。我想对OP的帖子有不同的解释——我有理由认为任何不是两位数字符串的东西都是无效的输入。@ardavey同意。我认为这两个答案都是正确的,因为OP没有提供任何参数。我以为OP是在尝试匹配像
0014013210
这样的东西,然后得到3个匹配项。