小编Gia*_*lix的帖子

Java中十进制数的正则表达式是什么?

我不太确定什么是 Java 时期的正确正则表达式。这是我的一些尝试。可悲的是,它们都意味着任何角色。

String regex = "[0-9]*[.]?[0-9]*";
String regex = "[0-9]*['.']?[0-9]*";
String regex = "[0-9]*["."]?[0-9]*";
String regex = "[0-9]*[\.]?[0-9]*";
String regex = "[0-9]*[\\.]?[0-9]*";
String regex = "[0-9]*.?[0-9]*";
String regex = "[0-9]*\.?[0-9]*";
String regex = "[0-9]*\\.?[0-9]*";
Run Code Online (Sandbox Code Playgroud)

但我想要的是实际的“。” 性格本身。有人有想法吗?

我实际上想要做的是写出非负实数(允许小数)的正则表达式。所以可能性是:12.2, 3.7, 2., 0.3, .89, 19

String regex = "[0-9]*['.']?[0-9]*";
Pattern pattern = Pattern.compile(regex);

String x = "5p4";
Matcher matcher = pattern.matcher(x);
System.out.println(matcher.find());
Run Code Online (Sandbox Code Playgroud)

最后一行应该打印 false 但无论如何打印 true。我认为我的正则表达式是错误的。

java regex real-number

6
推荐指数
1
解决办法
3万
查看次数

标签 统计

java ×1

real-number ×1

regex ×1