Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不能从零开始的正则表达式范围_C#_Asp.net_.net_Regex_Asp.net Mvc - Fatal编程技术网

C# 不能从零开始的正则表达式范围

C# 不能从零开始的正则表达式范围,c#,asp.net,.net,regex,asp.net-mvc,C#,Asp.net,.net,Regex,Asp.net Mvc,我正在尝试编写一个正则表达式,其中只允许1到99之间的值 有效值: 1 01 2 02 3 03 ... 19 20 21 ... 98 99 其他所有内容都必须抛出一个错误,如: 00 0 -1 1.0 1. 100 我目前有: ^[1-9]([0-9]+$) 这是行不通的。它只接受10及以上的值。这应该可以: ^(0[1-9]|[1-9][0-9]?)$ 这应该是:^([0-9][1-9])|([1-9][0-9])|[1-9])$^(0?[1-9][0-9])$ 第一部分包括1到9

我正在尝试编写一个正则表达式,其中只允许1到99之间的值

有效值:

1
01
2
02
3
03
...
19
20
21
...
98
99
其他所有内容都必须抛出一个错误,如:

00
0
-1
1.0
1.
100
我目前有:

^[1-9]([0-9]+$)
这是行不通的。它只接受10及以上的值。

这应该可以:

^(0[1-9]|[1-9][0-9]?)$
这应该是:
^([0-9][1-9])|([1-9][0-9])|[1-9])$
^(0?[1-9][0-9])$

第一部分包括1到9和0x

第二部分适用于10到99之间的所有内容,请尝试以下正则表达式:

^([1-9]|[1-9][0-9]|0[1-9])$/mg
这里演示

它使用
|
运算符,该运算符相当于

基本上这个正则表达式是这样说的:

数字在1和9之间吗

是介于1和9之间的第一个数字,第二个数字介于0之间 还有9个

数字是否以0开头,以1到9之间的数字结尾

末尾的标志只需检查演示的每一行,您可能需要更改或删除它们

编辑:无论什么原因,我都没有看到库巴的答案。他实际上更干净,但工作方式与此大致相同,如果您需要解释的话。

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


.

是否需要一个简单的
.0
是的,它可以工作,但我正忙于表单验证和将验证绑定到表单。我正在使用一个
RegularExpression
属性。使用
.NET
中已经提供的验证控件更方便。是的,我现在正在思考抱歉,我会编辑它。你不能“思考”,所以:)我也有这样的想法。它不适用于
01