gpt4 book ai didi

java - 使用正则表达式解析表 - Java

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:08:18 26 4
gpt4 key购买 nike

我正在解析以下 AWS 成本实例表:

m1.small    1   1   1.7     1 x 160    $0.044 per Hour
m1.medium 1 2 3.75 1 x 410 $0.087 per Hour
m1.large 2 4 7.5 2 x 420 $0.175 per Hour
m1.xlarge 4 8 15 4 x 420 $0.35 per Hour

有一个包含这些费用的文件:

input = new Scanner(file);
String[] values;
while (input.hasNextLine()) {
String line = input.nextLine();
values = line.split("\\s+"); // <-- not what I want...
for (String v : values)
System.out.println(v);
}

然而这给了我:

m1.small
1
1
1.7
1
x
160
$0.044
per
Hour

这不是我想要的...经过更正的解析 values(使用正确的正则表达式)将如下所示:

['m1.small', '1', '1', '1.7', '1 x 160', '$0.044', 'per Hour']

为了获得正确的结果,正确的 regex 应该是什么?可以假设该表将始终具有相同的模式。

最佳答案

试试这个 fiddle https://regex101.com/r/sP6zW5/1

([^\s]+)\s+(\d+)\s+(\d+)\s+([\d\.]+)\s+(\d+ x\d+)\s+(\$\d+\.\d+)\s+(根据\w+)

匹配文本,该组就是您的列表。

我认为在你的情况下使用 split 太复杂了。如果文本始终相同。就像字符串格式化的逆过程。

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

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