gpt4 book ai didi

regex - 正则表达式验证中的小数或数值

转载 作者:行者123 更新时间:2023-12-03 03:00:30 24 4
gpt4 key购买 nike

我正在尝试使用正则表达式验证来仅检查小数值或数值。但用户输入的数值,不是第一个数字“0”

我该怎么做?

最佳答案

1-9 范围内的数字后跟零个或多个其他数字:

^[1-9]\d*$

允许数字带有可选的小数点,后跟数字。 1-9 范围内的数字,后跟零个或多个其他数字,然后可选地后跟小数点,后跟至少 1 位数字:

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

注释:

  • 开始和结束的 ^$ anchor 基本上表示整个字符串必须与模式匹配

  • ()? 匹配括号内整个内容的 0 或 1

更新以处理逗号:

在正则表达式中.有特殊含义——匹配任何单个字符。要按字面意思匹配字符串中的 .,您需要使用 \.. 进行转义,这就是上面正则表达式中的 \. 。因此,如果您想使用逗号,则模式很简单:

^[1-9]\d*(,\d+)?$

进一步更新以处理逗号和句号

如果您希望在数字组之间允许使用 .,并在整数部分和小数部分之间允许使用 ,,请尝试:

^[1-9]\d{0,2}(\.\d{3})*(,\d+)?$

即这是 1-9 范围内的数字,后跟最多 2 个其他数字,然后是零组或多组句号,后跟 3 位数字,然后像以前一样可以选择逗号和数字。

如果您想在数字之间的任意位置允许 .,请尝试:

^[1-9][\.\d]*(,\d+)?$

即数字 1-9 后跟零个或多个数字或句号(可选)后跟逗号和一个或多个数字。

关于regex - 正则表达式验证中的小数或数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2811031/

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