【发布时间】:2011-12-26 03:04:29
【问题描述】:
在我的代码中,除了其他模式之外,还有一个用于识别整数的模式
Pattern patternNumber = Pattern.compile("[0-9]+");
要读取输入,我一直在使用*:
String input = "x: 1.6 ..10;";
String[] meta = a.split("(?:(?<=^|\\s)(?=\\S)|(?<=\\S|^)(?=\\s))\\b(?:(?<=\\S)(?=\\s|$)|(?<=\\s)(?=\\S|$))|\\b");
*感谢我找到的 here,稍作修改以适应。我对正则表达式没有太多经验,但这条线对我来说很神奇。
然后我继续添加浮点数:
Pattern patternNumber = Pattern.compile("\\d*\\.\\d+|\\d+");
但现在我似乎无法让它工作。对于浮点数部分,它拆分数字,给我:
1
.
6
而我想要的是:
1.6
我发现如果我单独使用它会起作用:
String input = "1.6";
String[] meta = a.split("\\D\\.\\D");
知道如何让这部分与 split 方法中的其余表达式一起工作吗?
【问题讨论】:
-
只是澄清一下,在您的原始字符串
x: 1.6 ..10;中,您想退出1.6和10吗? -
@mathematical.coffee 不,我没有。对于第一部分,我很乐意让它拆分我的输入,给我一个“数字、一个点和另一个数字”。但现在我希望它能够识别整个浮点数。