正则小数位不超过14位
时间: 2025-01-04 17:19:05 浏览: 4
### 正则表达式匹配小数位数最多14位
为了实现一个小数部分最多允许14位的正则表达式,可以根据给定的需求构建如下模式:
对于一个数值来说,如果希望其小数部分最长达到14位,则可以采用以下形式的正则表达式:
^(?:\d+(\.\d{1,14})?|\.\d{1,14})$
此表达式的解释如下:
- `^` 表示字符串起始位置。
- `(?:...)` 是非捕获分组,用于逻辑上的组合而不创建新的捕捉群组[^3]。
- `\d+` 匹配一位或多位于整数部分的数字字符[^4]。
- `(\.\d{1,14})?` 可选的小数点后面跟随至少1至多14个十进制数字。这里的问号表示整个括号内的内容是可选的,意味着这个规则也适用于纯整数情况[^5]。
- `|\.\d{1,14}` 或者直接由小数点开头并紧随1到14个小数位的情况(处理类似于".123"这样的值)[^1]。
- `$` 断言字符串在此处结束。
因此,上述正则表达式能够有效地验证那些具有指定范围内小数精度的有效浮点数或整数。
```python
import re
pattern = r'^(?:\d+(\.\d{1,14})?|\.\d{1,14})$'
test_values = ["123", "0.12345678901234", ".12345678901234", "-123.45"]
for value in test_values:
match_result = bool(re.match(pattern, value))
print(f"{value}: {'Matched' if match_result else 'Not matched'}")
```
阅读全文