正则表达式,一个数字的总长度是1到8,包括带小数点的数字,如123.4567,该数字的最小长度是1,最大长度是8,小数点后最多是4位,本人已经测试过多个,都没办法搞定,小小30分,双手奉上

问题描述:

正则表达式,一个数字的总长度是1到8,包括带小数点的数字,如123.4567,该数字的最小长度是1,最大长度是8,小数点后最多是4位,本人已经测试过多个,都没办法搞定,小小30分,双手奉上
目前为止,这里没有一个人的回答是正确的,^[0-9](\d{0,2}\.\d{4}|\d{0,3}\.\d{3}|\d{0,4}\.\d{2}|\d{0,5}\.\d|\d{0,6}\.|\d{0,7})$,这个才是正确的,不过应该会有更好的方法吧

^(?=[.\d]{0,7}\d$)(?=(?:!\.\d{5,}).)+$)(?=(?:!(\.\d*){2}).)+$).+