gpt4 book ai didi

java - 像在 C# 中一样在 Java 中捕获正则表达式

转载 作者:搜寻专家 更新时间:2023-10-31 20:23:13 24 4
gpt4 key购买 nike

我需要使用 Java 重写现有 C#/.NET 程序的一部分。我的 Java 不是很流利,缺少一些处理正则表达式的东西,只是想知道我是否缺少某些东西,或者 Java 是否不提供此类功能。

我有这样的数据

2011:06:05 15:50\t0.478\t0.209\t0.211\t0.211\t0.205\t-0.462\t0.203\t0.202\t0.212

我使用的正则表达式模式如下所示:

?(\d{4}:\d{2}:\d{2} \d{2}:\d{2}[:\d{2}]?)\t((-?\d*(\.\d*)?)\t?){1,16}

在 .NET 中,我可以使用 match.Group[3].Captures[i] 访问匹配后的值。

在 Java 中我还没有找到类似的东西。 matcher.group(3) 只返回一个空字符串。

我怎样才能实现我在 C# 中习惯的行为?

最佳答案

正如我在评论中提到的,Java 只会返回多值组拟合的最后一个值。因此,您应该首先使用正则表达式将字符串的最后一部分与以下值隔离开来:

strg = "0.478\t0.209\t0.211\t0.211\t0.205\t-0.462\t0.203\t0.202\t0.212"

然后围绕选项卡拆分:

String[] values = strg.split("\\t");

关于java - 像在 C# 中一样在 Java 中捕获正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6243440/

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