我需要处理长模式,以检查输入数字是否遵循我的模式。长期可能是:
1000.00
1000
1000.0
1.00
10
int部分不是位数的限制,但小数部分最多可以是两位数。我使用此正则表达式:
^[0-9]+(,|.){0,1}(00){0,2}$
此正则表达式可用于99%的输入,因为如果我传递此值100.
,则正则表达式将使用此值。任何人都可以帮助我修改此正则表达式,以便用户放置.
时必须放置小数部分?
答案 0 :(得分:1)
(,|.){0,1}
匹配可选的,
或任何字符(字符类外部的未转义的.
匹配除换行符之外的任何字符),然后匹配(00){0,2}
也可以匹配一个空字符串(零个,一个或两个00
子字符串)。
您需要
^[0-9]+(?:[,.]0{1,2})?$
请参见Location schema documentation。
详细信息
^
-字符串的开头[0-9]+
-1个以上数字(?:[,.]0{1,2})?
-的可选序列
[,.]
-逗号或点(在字符类中时,点无需转义)0{1,2}
-1或2个零点$
-字符串的结尾。