【发布时间】:2012-03-24 23:05:49
【问题描述】:
我目前正在尝试创建代码来检查内容是否为数字。我发现这个可以处理正则表达式代码的简洁匹配命令,但我是一个初学者,所以如果你能解释我做错了什么,那就太棒了。
我试图将 E 作为指数,并且它可以输入 .1 和 0.1。显然,我不希望可以输入多个标点符号和一个 E。
这是我的代码:
if (blabla.getText().toString().matches("((-|\\+)?([0-9]|[0-9].|.[0-9])+([0-9]+E)?([0-9]+)?)+")) {
目前,此代码允许您只输入 E2 之类的内容,尽管对我来说它看起来不应该返回 true,因为 ([0-9]|[0-9].|.[ 0-9])+ 在前面。
【问题讨论】:
-
您看到了什么出乎意料的结果?
-
我期望 E2 与表达式的内容不匹配
标签: java android regex numeric