十进制数的正则表达式

标签 regex decimal

任何人都可以为长度必须在 1 到 17 之间的数字提供正则表达式,并且可以选择包含最多 4 位的尾数吗? 17 的长度包括特征和尾数。

编辑:

17 的长度不包括小数点。

有效示例:

12345678901234567
1234567890123.4567
123456789012345.67
12.34

无效的:

12345678901234.5678(数字长度=18)

谢谢。

最佳答案

^\d{17}$|^\d{13}(?=.{5}$)\d*\.\d*\d$

正则表达式解释:
^\d{17}$    //A string of 17 digits 
|           //or
^\d{13}     //13 digits followed by
(?=.{5}$)   //5 characters, of which 
\d*\.\d*    //one is a decimal point and others are digits
\d$         //and the last one is a digit

关于十进制数的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2369109/

相关文章:

python - 替换字符串/句子中模式的一部分?

c++ - std::regex,[:print:] 图形字符

Javascript正则表达式匹配捕获返回整个匹配,而不是组

ruby - 最长的循环数字

java - 将 Double 舍入为 2dp

java - 在 Clojure 或 Java 中使用正则表达式时,如何使用命名捕获组?

JAVA 逗号分隔字符串转单引号字符串

c++ - 在 C++ 中连接单个字符并转换为组合小数

c# - 带后缀的字符串解析失败

java - 如何获取点后的值