Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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# 大于0小于11的整数的正则表达式_C#_Regex - Fatal编程技术网

C# 大于0小于11的整数的正则表达式

C# 大于0小于11的整数的正则表达式,c#,regex,C#,Regex,我正试图修改这个正则表达式,以便得到大于或等于1或小于或等于10的数字。这个正则表达式允许>=0或答案是这不是你应该使用正则表达式的东西。如果有什么问题,您可以使用正则表达式解析出这些数字,然后将它们与标准的If(num>=0)等进行比较 // EDIT: replaced regex with this: int number; if (Int32.TryParse(myString, out number)) { // do something, like: if (numb

我正试图修改这个正则表达式,以便得到大于或等于1或小于或等于10的数字。这个正则表达式允许>=0或答案是这不是你应该使用正则表达式的东西。如果有什么问题,您可以使用正则表达式解析出这些数字,然后将它们与标准的
If(num>=0)
等进行比较

// EDIT: replaced regex with this:
int number;
if (Int32.TryParse(myString, out number)) {
    // do something, like:
    if (number >= 0 || number <= 10) {

    }
}
//编辑:将正则表达式替换为:
整数;
if(Int32.TryParse(myString,out number)){
//做点什么,比如:

如果(number>=0 | | number,则只需稍微修改正则表达式

@"^[1-9]$|^10$"
您不需要在单个字符周围使用方括号,我会在替换字符周围使用一个组,并将其更改为

@"^([1-9]|10)$"
请看

给您:

^(1|2|3|4|5|6|7|8|9|10)$

非常明确,不能曲解,像day一样清晰。这对我来说是一个更好的正则表达式。这里不需要简短和神秘的(

虽然我建议只使用逻辑运算符检查int是否介于1和10之间,但这里有一个工作正则表达式:

^(10|[1-9])$
您可以尝试以下方法:

^([1-9]|10)$

如果您使用的是WinForms,那么
NumericUpDown
控件的
MinValue
等于
1
MaxValue
等于10就可以了。另外,您不需要解析-属性
将包含您的值(它的类型是
decimal
-只需将其转换为
int


使用
NumericUpDown
的另一个原因-它不允许输入除数字以外的任何内容,上下箭头向用户表示-此控件正在等待您的数字。

使用正则表达式检查1到10之间的数字-


^([1-9]| 10)$

为什么要使用正则表达式?为什么要使用正则表达式表示整数?假设字符串中有一个数字(这就是正则表达式的用途),您可以将字符串转换为一个整数。您真的打算使用正则表达式吗?请不要这样做。您的朋友可能会嘲笑您。尽管如此,操作非常简单,速度也非常快:
int-result;if(!int.TryParse(myStr,out-result)| result<1 | | result>10){/*error*/}
我不想太冲动,但如果你正在学习,请接受大家的建议!完全有道理,但我的目标是学习其他做事方法,正如你所建议的,我本可以使用TryParse和一些运算符,但我想看看如何分配布尔值和使用Regix。-谢谢!@unserageguy我明白了。是的,我知道什么你的意思是,学习新的做事方式总是很有趣的!这个正则表达式甚至不正确。它匹配
0
Int32之间的数字。MaxValue
@Abbondanza这就是重点!重点是把数字拿出来,然后进行比较。@mmmshuddup这比一开始使用正则表达式更有意义。这是真的,但是我会错过所有的建议吗?有时候最简单的方法教你的东西很少。谢谢大家,所有的答案都很有价值!
^([1-9]|10)$