Regex 介于之间的范围的正则表达式

Regex 介于之间的范围的正则表达式,regex,expression,Regex,Expression,我四处查看,但没有找到合适的正则表达式。我尝试只匹配数字(8-32),并尝试了一些不成功的组合,包括(Regex Regex=new Regex(“[8-9]|[10-29]\\d”,RegexOptions.IgnoreCase | RegexOptions.Singleline);)。这只让我升到了8-29,然后我就迷路了 我知道如果我只是创建一个if语句,有一种更好更简单的方法,但我永远也学不到用这种方法做任何事情。:-) 任何帮助都将不胜感激。使用正则表达式检查数字是否在某个范围内是个坏

我四处查看,但没有找到合适的正则表达式。我尝试只匹配数字(8-32),并尝试了一些不成功的组合,包括
(Regex Regex=new Regex(“[8-9]|[10-29]\\d”,RegexOptions.IgnoreCase | RegexOptions.Singleline);)
。这只让我升到了8-29,然后我就迷路了

我知道如果我只是创建一个if语句,有一种更好更简单的方法,但我永远也学不到用这种方法做任何事情。:-)


任何帮助都将不胜感激。

使用正则表达式检查数字是否在某个范围内是个坏主意。正则表达式只关心字符串中的字符,而不关心每个字符的值代表什么。正则表达式引擎不知道
23
中的
2
实际上意味着
20
。对于它,它与任何其他
2
相同

您可能可以编写一个高度复杂的正则表达式来实现这一点,但不要这样做

假设您使用的是C#,只需将字符串转换为如下所示的整数

var integer = Convert.ToInt32(yourString);
然后使用if语句检查它是否在范围内:

if (integer >= 8 && integer <= 32) {

}

if(integer>=8&&integer作为正则表达式测试的参考,并提供解释,我建议您
根据您的需要:8-32,您将需要一个类似

[8-9]|[1-2][0-9]|[0-2]


因此,你将得到8或9或10到29或30到32之间的每一个数字。你使用的是什么语言?为什么不使用一个简单的if条件?@Paul Etienne看起来像C#Sweeper是的,你是对的,你为什么要使用正则表达式呢?你的要求不适合正则表达式。使用if条件可以很容易地解决这个问题。命令上面的ents是100%正确的。
([8-9]|[1-2][0-9]|[3[0-2])
将起作用,尽管有“29”这样的警告,也包括“9”谢谢你的回复清理程序。我已经做了一个条件声明,但我想我可以做一个表达式。谢谢你的澄清,我想我会坚持我的if声明。:-)哦,不管怎样,是的,我正在用C语言编程。