我正在解析以下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
这不是我想要的…更正的解析值(使用正确的正则表达式)将如下所示:
['m1.small','1','1.7','1 x 160','$0.044','per Hour']
为了获得正确的结果,正确的正则表达式是什么?可以假设该表将始终具有相同的模式.
分开一个更多的空间.空格必须出现在下面的上下文中.
数字 – 空间 – 不是“x”
要么
不是“x” – 空间 – 数字
values = line.split("(?<=\\d)\\s+(?=[^x])|(?<=[^x])\\s+(?=\\d)")));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。