我正在寻找一个正则表达式来匹配最多 7 位数字的浮点数。我不知道如何处理小数点。甚至可以将其与正则表达式匹配吗?小数点左侧必须至少有 1 位,右侧至少有 0-6 位,但总位数必须为 7 或更少。
例子:
好的:
- 1.234567
- 0.1
- 1234567
- 1
坏的:
- .1234567
- 12345678
- 1.2.34567
我正在寻找一个正则表达式来匹配最多 7 位数字的浮点数。我不知道如何处理小数点。甚至可以将其与正则表达式匹配吗?小数点左侧必须至少有 1 位,右侧至少有 0-6 位,但总位数必须为 7 或更少。
例子:
好的:
坏的:
以下应该有效:
^(?!.*\..*\.|\d{8})\d[\d.]{,7}$
示例:http ://www.rubular.com/r/gglVngm0pH
解释:
^ # beginning of string anchor
(?! # start negative lookahead (fail if following regex can match)
.*\..*\. # two or more '.' characters exist in the string
| # OR
\d{8} # eight consecutive digits in the string
) # end negative lookahead
\d # match a digit
[\d.]{,7} # match between 0 and 7 characters that are either '.' or a digit
$ # end of string anchor