我正在尝试创建一个简单的程序来练习解析数据。我将向您展示我的代码,然后解释我正在尝试做的事情:
String data = "<span id=\"yfs_l84_ibm\">176.85</span>";
Pattern pattern = Pattern.compile("\\d+([.]\\d{2})?");
Matcher matcher = pattern.matcher(data);
if (matcher.find())
System.out.println(matcher.group(1));
我要做的就是打印出“176.85”。小数点后总会有两个数字,小数点前总会有 1 个或多个数字。我不需要担心负数,尽管如果我的正则表达式处理它不会有什么坏处。我的代码进入if
,但打印null
。我的正则表达式有问题吗?以下是我尝试过的其他正则表达式。他们也打印null
,否则永远进不去if
。
- ^[+-]?(\d+(.?\d+)?|.\d+)$
- /^\d+.?\d*$/
- /\d+.?\d*/