Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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
Regex 正则表达式间隔:小于或等于_Regex - Fatal编程技术网

Regex 正则表达式间隔:小于或等于

Regex 正则表达式间隔:小于或等于,regex,Regex,有没有更有效的方法来检查0到250之间的整数 正则表达式: ^([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|250)$ 或者从0到20'000,0到10'000,等等的间隔时间呢?不太可能;您可以将其缩短一点: ^([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|250)$ 但是正则表达式不适用于数字范围,尤其是任意范围。不,我认为使用正则表达式没有更简单的方法。没有更有效的方法来实现这一点(除了像@TimPietzcker那样对

有没有更有效的方法来检查0到250之间的整数

正则表达式:

^([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|250)$

或者从0到20'000,0到10'000,等等的间隔时间呢?

不太可能;您可以将其缩短一点:

^([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|250)$

但是正则表达式不适用于数字范围,尤其是任意范围。

不,我认为使用正则表达式没有更简单的方法。没有更有效的方法来实现这一点(除了像@TimPietzcker那样对其进行轻微优化),而且表达式会随着时间的推移而成倍增大。正则表达式用于匹配模式,而不是检查数值。找到一个可能包含正则表达式的字符串,如
/^\d+$/
,然后用任何宿主语言(PHP,任何语言)检查其数值。好吧,该死。我想使用reg ex的原因是,我想防止用户输入字母和特殊字符(在C#/WPF中)。应该只允许任何用户输入0到250之间的整数。0到20000…以我在WPF文本框中使用的方式,默认情况下允许使用字符串,应该进行验证。。。