使用matcher()匹配字符串中的小数
我对匹配器有疑问。 目前我正在尝试读取一个字符串并将所有数字存储到一个数组中。 我的问题是,你如何尝试匹配整数和小数?
我有一系列双打叫:
double [] thisArray = new double [20];
在这个数组中,我试图存储我从字符串中提取的所有数字。
Matcher temp = Pattern.compile(“(\ d +)”)。matcher(x);
这是我对匹配器的function。 但这只匹配整数。 我想匹配整数和小数,如(5.2)。 但是我该怎么做? 我希望能够将整数和小数输入到我的字符串中。
任何帮助,将不胜感激。 谢谢!
这将处理整数和小数: –
private Pattern p = Pattern.compile("\\d+(\\.\\d+)?"); @Test public void testInteger() { Matcher m =p.matcher("10"); assertTrue(m.find()); assertEquals("10", m.group()); } @Test public void testDecimal() { Matcher m =p.matcher("10.99"); assertTrue(m.find()); assertEquals("10.99", m.group()); }
短语\d+
将匹配一串数字。 那么在两个之间添加一个点呢? (\d+)|(\d+|\.\d+)