gpt4 book ai didi

正则表达式验证十进制的正则表达式[19,3]

转载 作者:行者123 更新时间:2023-12-04 14:02:12 26 4
gpt4 key购买 nike

我想验证一个十进制数( decimal[19,3] )。我用过这个

@"[\d]{1,16}|[\d]{1,16}[\.]\d{1,3}" 

但它没有用。

以下是有效值:
1234567890123456.123
1234567890123456.12
1234567890123456.1
1234567890123456
1234567
0.0
.1

最佳答案

简化:
\d不必在 [] .使用 []仅当您想检查一个字符是否是多个字符或字符类之一时。
.不需要在里面转义 [] - [\.]似乎只允许 . ,但允许 \出现在字符串中 . 的位置可能是一种语言相关的可能性(?)。或者你可以把它从 [] 中取出并让它逃脱。

所以我们得到:

\d{1,16}|\d{1,16}\.\d{1,3}

(可以使用可选的/“一次或根本不”量词( ? )来缩短
\d{1,16}(\.\d{1,3})? )

更正:

您可能想要制作第二个 \d{1,16}可选,或等效地简单地将其设为 \d{0,16} ,所以类似 .1被允许:
\d{1,16}|\d{0,16}\.\d{1,3}

如果类似 1.也应该被允许,你需要添加一个可选的 .第一部分:
\d{1,16}\.?|\d{0,16}\.\d{1,3}

编辑:我的印象是 [\d]匹配 \d ,但它实际上匹配字符类 \d (以上更正)。

关于正则表达式验证十进制的正则表达式[19,3],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16896717/

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