java - 使用 Java 的正则表达式类解析数值

标签 java regex

在 Java 中,我尝试从 ASCII 输出文件解析数据。数据外观示例如下所示。这些值的格式为精度 5 小数位数 3,并且值之间不存在空格。

80.234 <- 1 个值
71.01663.129 <- 2 个值 ...
67.09159.25353.997
56.02759.77859.25057.749
55.86558.46958.64861.72855.969

我可以使用什么正则表达式模式来匹配数值并将它们分成组?模式 (\d+.\d{1,3}) 匹配单个值。但是,指定行的组数后,它不会给出预期的答案。例如,我预计以下内容会找到 10 个组。

String testPattern = "68.65761.25659.01057.67657.14857.06457.41658.77861.16268.641";

// create a pattern to match the output
Pattern p = Pattern.compile("(\\d+\\.\\d{1,3}){10}");

Matcher m = p.matcher(testPattern);

if (m.find())
{
    String group = m.group();
}

最佳答案

如果它们的格式相同,也许将 6 个字符作为字符串读取,然后使用 Double.parseDouble 将其从字符串解析为 Double 会更容易?

关于java - 使用 Java 的正则表达式类解析数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3858779/

相关文章:

Javascript RegEx 正面前瞻未按预期工作

c# - 两个值之间的正则表达式返回值?

java - 我可以制作一个随机按钮吗?

java - Log4j 级别不适用于根记录器

java - 自从更改 SpringBoot 依赖性以来,在空字段上加入时出现 Freemarker 错误

php - 我如何在 PHP 中使用 "merge"这两个正则表达式?

regex - 是否可以通过正则表达式过滤 Chrome/Firebug 网络面板?

java - 在 JSpinner 上格式化日期

java - 在 jmeter3.0 中为非 GUI 模式生成仪表板报告时显示 "java.lang.IllegalArgumentException: Results log file is not empty"错误

javascript - 如何使用 ECMAScript 正则表达式整理序列\"?