gpt4 book ai didi

匹配等于或大于 0.5 或 0.5 的正则表达式,增量为 0.5

转载 作者:行者123 更新时间:2023-12-01 07:04:37 24 4
gpt4 key购买 nike

我正在尝试增强另一篇文章的给定答案:

^[1-9]\d*(?:\.[05])?$

分手:

^        # Start of input
[1-9] # match digit 1 to 9
\d* # match 0 or more of any digits
(?: # start of non-capturing group
\. # match a decimal
[05] # followed by digit 0 or 5
)? # end non-capturing group. (? makes this group optional)
$ # End of input

只有这一次正则表达式需要接受 0,5 或 0.5 以及 0,5 或 0.5 的增量

数字零是唯一无法匹配的。

已经尝试过:

(?!0).{1}|^[1-9]\d*(?:(,|\.)[05])?$

[^0]|^[1-9]\d*(?:(,|\.)[05])?$

你能帮忙吗?

最佳答案

你可以使用

^(?!0$)\d+(?:[,.][05])?$

参见 demo

这将匹配您所需的数字并将排除 0-only 数字,这要归功于开始时的前瞻性。

主要变化:

  • \d+ - 替换了 [1-9]\d* 以允许 0 作为整数部分
  • [,.] - 替换 \. 以允许逗号作为小数点分隔符。
  • 前瞻添加了一个 0 数字异常。

可以增强前瞻以禁止类似0.000的输入:

^(?!0+(?:[,.]0+)?$)\d+(?:[,.][05])?$

参见 another demo .

关于匹配等于或大于 0.5 或 0.5 的正则表达式,增量为 0.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33677828/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com