【问题标题】:Regular Expression for any positive or negative decimal number in a range of 0 to 100 到 10 范围内任何正或负十进制数的正则表达式
【发布时间】:2020-10-05 19:37:34
【问题描述】:

最大精度为2的十进制数的正则表达式是什么,十进制数应该在0-10的范围内,无论是正数还是负数?

有效例子:

10.0
-9.5
-10
5
1.5
-0.5
0.5
8.25

无效示例:

12.1232
2.23332
e666.76
11
-11

我试过^(?:10(?:\.0)?|[1-9](?:\.[0-9])?|0?\.[1-9])$,它基本上检查一个范围内的正十进制数。

另外,尝试^\-?(\d+\.?\d*|\d*\.?\d+)$ 检查任何十进制数。

我不知道如何合并两个正则表达式。

【问题讨论】:

  • 我试过 '^(?:10(?:\.0)?|[1-9](?:\.[0-9])?|0?\.[1 -9])$' 和 '^\-?(\d+\.?\d*|\d*\.?\d+)$' 正则表达式,想合并在一起。

标签: javascript python regex


【解决方案1】:

你可以使用

^-?(?:\d(?:\.\d{1,2})?|10(?:\.0{1,2})?)$

查看regex demoregex graph

详情

  • ^ - 字符串开头
  • -? - 一个可选的 - 符号
  • (?: - 非捕获组的开始:
    • \d - 任何数字
    • (?:\.\d{1,2})? - 点和 1 或 2 位数字的可选序列
    • | - 或
    • 10 - 10 字符串
    • (?:\.0{1,2})? - . 的可选序列,然后是 1 或 2 个零
  • ) - 非捕获组结束
  • $ - 字符串结束。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    相关资源
    最近更新 更多