仅用于数字和零的正则表达式

问题描述 投票:0回答:2

有人可以知道如何获得一个正则表达式来验证字符串包含仅数字,并且如果具有小数部分(由分隔),则仅允许零。

VALIDS

123
123.0
123.00
321,0
231,00

允许使用更多的零作为小数。

未验证

0
123.01
123.10
123.1200
123.
22,
321,01

谢谢您的帮助!

regex ruby
2个回答
0
投票

我能够编写以下正则表达式:

([1-9]$)|(^[1-9][0-9]+$)|([0-9]+\.0+$)|([0-9]+\,0+$)

以下是一些测试:https://regexr.com/51qbk

转到上面提供的链接中的测试部分,然后尝试其他测试。


0
投票
/\A(-?[1-9]+([\.,]0+)*)\Z/

故障:

  • \A字符串的开头

  • [-?可选减号

  • [[1-9]匹配[1-9]范围内的字符(不包括0)
  • [+ 1个或多个先前的令牌,即[1-9]
  • ([\.,]0+)*总体上将匹配此0次或更多次
    • . ,
    • 后接一个或多个0

我为负数添加了额外的支票。

希望这会有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.