Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要设置整数的最大输入(7)和十进制的最大输入(2)。示例:7777777.77,此时我使用正则表达式作为整数,但是如何将输入用户设置为小数?
editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(7) });
基本的正则表达式模式将是
^[0-9]{1,7}([.][0-9]{1,2})?$
但是,如果您的正则表达式引擎支持负前瞻,并且您想防止不需要的前导零,例如000123.45,那么使用模式
000123.45
^(?!0[0-9])[0-9]{1,7}([.][0-9]{1,2})?$
如果您想允许带小数点且没有小数点的数字,例如123.,则将{1,2}部分替换为{0,2}.
123.
{1,2}
{0,2}