Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
.net 唯一正则表达式字符串_.net_Regex - Fatal编程技术网

.net 唯一正则表达式字符串

.net 唯一正则表达式字符串,.net,regex,.net,Regex,我有一套要求,其中规定输入必须进行验证,如下所示: 必须介于1到7个字符之间 数字的 大于0 并允许小数点 目前我有^(?!0{1,7}$)(\d+(\.\d)?){1,7}$ 但这并没有将整个字符串的最大长度限制为7个字符我认为这样做可以做到: ^(?!0*(\.0*)?$)(?=.{1,7}$)\d+(\.\d+)?$ 测试:尝试此正则表达式: 我们可以这样想: ^(?=\d+(?:\.\d+)?$)(?![0\.]+$).{1,7}$ 从一开始就积极向前看:它应该由 数字和可选的

我有一套要求,其中规定输入必须进行验证,如下所示:

  • 必须介于1到7个字符之间
  • 数字的
  • 大于0
  • 并允许小数点
目前我有
^(?!0{1,7}$)(\d+(\.\d)?){1,7}$


但这并没有将整个字符串的最大长度限制为7个字符

我认为这样做可以做到:

^(?!0*(\.0*)?$)(?=.{1,7}$)\d+(\.\d+)?$
测试:

尝试此正则表达式:

我们可以这样想:

^(?=\d+(?:\.\d+)?$)(?![0\.]+$).{1,7}$
  • 从一开始就积极向前看:它应该由 数字和可选的
    符号(数字模式)
  • 从一开始就进行负面展望:它不应该只包含
    0
    符号(排除0值的模式)
  • 它应该有1到7个符号

@M42我更新了正则表达式以匹配
10
和其他值。
10
可以,但
0.0101
10.012
:-(@M42我简化了正则表达式并解决了最后的问题。
“123f567”
匹配。+1我喜欢你的思维方式。你可以在中使用非捕获组,而不是组1和组2。@Alex谢谢你的建议,我更新了答案,现在图片看起来更清晰了。