Vaadin:如何使validation器只接受数字和一位小数

我正在尝试validation文本字段只有数字和一个小数,但小数值会导致validation器关闭:

TextField tf = new TextField(); tf.addValidator(new RegexpValidator("^\\d+$", facilityId.getCaption() + "Only numbers and one decimal allowed.")); 

所以我得到了数字,但我如何告诉validation者“。” 没关系?

注意: Add-Ons不是一个选项。

这个正则表达式应该工作

 /^\d+\.\d$|^\d+$/ 

分解

^ – 开始行

\d+ – 一个或多个数字

\. – 逃离一段时间,否则它将匹配任何角色

\d$ – 以小数点后的一位数结尾

| – 要么

^\d+$ – 它有任意数字的数字,没有小数