.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谢谢你的建议,我更新了答案,现在图片看起来更清晰了。