java - 使用匹配器和模式从字符串中提取 float

标签 java regex matcher

假设

String str="123 abc 123.4 256";
Matcher m = Pattern.compile("\\d+").matcher(scan);
while (m.find()) 
{
    System.out.println(m.group(0));
}

通过使用这段代码,我得到的输出为:

123
123
4
256

但在输出中我希望它为 123 ,123.4,256。我应该使用什么模式来获得理想的结果,或者除了使用 Matcher 和模式之外还有什么其他解决方案。

最佳答案

您的正则表达式仅查找数字(加号仅表示至少一个)。如果你想要小数,你需要在正确的位置包含点

(\\d+\\.\\d+)

这将为您提供至少一位数字,然后是一个点,然后是至少一位数字。

关于java - 使用匹配器和模式从字符串中提取 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25184900/

相关文章:

java - 使用 hibernate 和 GWT 时提高性能

java - 如何检测 JavaFX 中的菜单是否打开?

java - 每个级别定义 1 个 logback 文件

javascript - 用于匹配输入的正则表达式,例如 HTML 输入中模式的 "abc > 10, cba < 100, ..."

javascript - 如何编写 Jasmine 自定义匹配器

匹配输入中的 Java 正则表达式

Java-读取结构化二进制文件

java正则表达式捕获字符串中任意数量的句点

ruby - 使用正则表达式扫描子字符串并忽略大小写

android - 密码模式与 Matcher 类不匹配