我想验证一个文本框仅包含0
和10
之间的数字。
这是我目前正在使用的正则表达式:
@"^([0-9]|10)"
但它只匹配0-9
。我应该更改什么以使其匹配10
??
谢谢!
答案 0 :(得分:15)
来自1
的{{1}}与10
匹配,因为正则表达式引擎从左到右匹配。由于您只锚定了输入的开头:[0-9]
,如果匹配^
,则引擎会满意。
有两种解决方案。
1
或
@"^(10|[0-9])"
:$
答案 1 :(得分:2)
^(10|[0-9])
因为[0-9]首先与10中的1匹配。
答案 2 :(得分:1)
它可能是“懒惰的”,匹配第一个潜在的匹配,即“1”与“10”。也许尝试切换顺序:
"^(10|[0-9])"
这意味着正则表达式将首先检查“10”,并且仅在没有“10”的情况下检查[0-9]
如果这不起作用,可能会有一个标志
答案 3 :(得分:0)
使用此@“^(10 | [0-9])”。换句话说,它会将10中的1个视为第一个条件的第一个匹配,因此不会落在OR条件下。