gpt4 book ai didi

java - Android 正则表达式不符合我的预期

转载 作者:行者123 更新时间:2023-11-29 22:11:10 26 4
gpt4 key购买 nike

我目前正在尝试创建代码来检查内容是否为数字。我发现了这个可以处理正则表达式代码的简洁匹配命令,但我是初学者,所以如果你能解释我做错了什么,那就太棒了。

我正在尝试将 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])+ 在那前面。

最佳答案

你必须避开句点:

if (blabla.getText().toString().matches("((-|\\+)?([0-9]|[0-9]\.|\.[0-9])+([0-9]+E)?([0-9]+)?)+");

如果不转义,句点表示“除换行符外的任何字符”。

关于java - Android 正则表达式不符合我的预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9601165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com