Android中InputFilter for EditText的正则表达式帮助
我需要实现一个输入过滤器,用于限制格式为Android中InputFilter for EditText的正则表达式帮助,android,regex,Android,Regex,我需要实现一个输入过滤器,用于限制格式为1234.35的数字输入。也就是说,在之前最多四位,小数点后两位。我使用这种模式: 这是可行的,但一旦我在编辑文本中输入一个数字并尝试编辑小数点前的值,我就无法编辑它们。我只能删除它们 怎么了?根据您所说的,我认为您似乎在尝试这样做,我将使用以下正则表达式: ^(\d{0,4})(\.\d{1,2})?$ 它匹配“0-4位”,后面有或没有“一个小数点和两个数字”。如果有小数点,则后面必须有一位或两位数字。例如:5、1234、1234.56、.2和.31都
1234.35
的数字输入。也就是说,在
之前最多四位,小数点后两位。我使用这种模式:
这是可行的,但一旦我在编辑文本中输入一个数字并尝试编辑小数点前的值,我就无法编辑它们。我只能删除它们
怎么了?根据您所说的,我认为您似乎在尝试这样做,我将使用以下正则表达式:
^(\d{0,4})(\.\d{1,2})?$
它匹配“0-4位”,后面有或没有“一个小数点和两个数字”。如果有小数点,则后面必须有一位或两位数字。例如:5
、1234
、1234.56
、.2
和.31
都是有效的,并且由表达式匹配,但是.123
、1234.
、1234.567
、12345
和
不匹配
或者,要允许以小数结尾的数字(如
、1234.
等),请使用以下修改:
^(\d{0,4})(\.(\d{1,2})?)?$
^(\d{0,4})(\.(\d{1,2})?)?$