【发布时间】:2016-12-05 19:47:26
【问题描述】:
我在我的实体中的字符串字段上使用@Pattern 注释,正则表达式只允许数字或空字符串,但我也需要允许以 0 开头的数字。
这是我现在使用的模式:
//..
@Pattern(message="Entrez un nombre" , regexp = "[+-]?(([1-9][0-9]*)|(0))([.,][0-9]+)?|(^$)")
private String BSCId;
//...
谢谢。
【问题讨论】:
-
这个正则表达式对你不起作用?你有什么问题?
-
试试
regexp = "^(?:[+-]?[0-9]+(?:[,.][0-9]+)?)?$" -
或者,如果不允许使用 0 或 0,00,
regexp = "^(?!0+(?:[.,]0+)?$)(?:[+-]?[0-9]+(?:[,.][0-9]+)?)?$" -
@WiktorStribiżew 效果很好,谢谢。
-
哪一个有效:)?
标签: java regex spring bean-validation