gpt4 book ai didi

javascript - 正则表达式允许从 0 到 365 带小数,但 365 应将所有小数位仅设为 0

转载 作者:行者123 更新时间:2023-11-30 14:07:25 28 4
gpt4 key购买 nike

我正在尝试创建一个正则表达式以允许从 0 到 365 带有可选的小数位,但 365 应该将所有可选的小数位仅设为 0。

^(0?[0-9]?[0-9]|[1-2][0-9][0-9]|3[0-5][0-9])(\.\d+)|(36[0-5])(\.[0]+)?$

这只接受 365 和 365 后跟小数,例如 (365.0,365.00) 但它只接受小数 1.0, 10.0,100.0 而不是没有小数 1,10,100 不知道发生了什么。任何帮助将不胜感激。

最佳答案

要么使用(参见 a demo on regex101.com)

^(?:\d|[1-9]\d|[12]\d{2}|3[0-5]\d|36[0-4]|365\.0*)(?:\.\d+)?$

或者(更好!):

^\d+(?:\.\d+)?$

然后以编程方式比较值。
后者可能是:

let data = `0.00
123.2121212
365.00
365.11
-1000
299
1000
365.1`;

let regex = /^\d+(?:\.\d+)?$/gm;
while (found = regex.exec(data)) {
number = parseFloat(found[0]);
if (number >= 0 && number <= 365) {
console.log(number + " (" + found[0] + ")");
}
}

关于javascript - 正则表达式允许从 0 到 365 带小数,但 365 应将所有小数位仅设为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55120884/

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