正则表达式 - 最多 5000 个小数点后 1 位数字的验证

标签 regex

我正在尝试创建正则表达式,它可以采用 b/w 0 - 5000 范围内的数字,最多 一位小数 .

i.e. 5000 , 4999.9 , 25.0 , 2500.9

我试过使用正则表达式,但不知道我需要在哪里添加小数点。

^0*(?:[0-9]|[1-9][0-9][0-9]?|[1-4][0-9][0-9][0-9]|5000)$

最佳答案

小数部分可以用 (?:[.][0-9])? 子模式匹配一​​个或零序列的文字点 [.] 后跟一个数字 ([0-9]+)。但是,您需要稍微重新组合正则表达式:5000 必须是一个单独的替代项,因为它只能有 .0 小数部分:

^(?:0*(?:[0-9]|[1-9][0-9][0-9]?|[1-4][0-9][0-9][0-9])(?:[.][0-9])?|5000(?:[.]0)?)$
  ^^                                                ^^^^^^^^^^^^^^     ^^^^^^^^^

参见 regex demo

分割:

  • ^ - 字符串的开始
  • (?:0*(?:[0-9]|[1-9][0-9][0-9]?|[1-4][0-9][0- 9][0-9])(?:[.][0-9])? - 04999 带或不带前导 的数字>0 符号,后跟一个或零 + 任何数字(出现一次)
  • | - 或者...
  • 5000(?:[.]0)?) - 5000 可选地后跟一个或零序列 .0
  • $ - 字符串结尾

关于正则表达式 - 最多 5000 个小数点后 1 位数字的验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35553011/

相关文章:

javascript - 如何在javascript中 trim 回车前的空格?

javascript - 在javascript中使用正则表达式强制输入特定字符

python - 读取并输出列表中使用它的行的脚本

javascript - 是否可以在一个文本框中进行计算?

javascript - 使用 indexOf 匹配精确的字符串

javascript - 使用javascript中的正则表达式过滤 Markdown 中的列表标记

javascript - JS (jQuery) - 如果条件 - 任何数字

html - 如何在非 html 文件中找到 html 标签?

python - 用于从两端删除非 ASCII 字符的正则表达式

java - Java Scanner分隔符的保留内容