我想創建一個簡單的程序來練習解析數據。我會告訴你我的代碼,然後解釋什麼,我試圖做的:「176.85」獲取十進制數的正則表達式
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));
所有我想要做的就是打印出來小數點後面總是有兩個數字,小數點前面有一個或多個數字。我不需要擔心負數,儘管如果我的正則表達式處理了這些數據,它不會受到傷害。我的代碼進入if
,但打印null
。我的正則表達式有問題嗎?下面是我嘗試過的其他正則表達式。他們還打印null
,或永遠不會進入if
。
- ^[+ - ](\ d +(\ d +)| \ d +。?。)$
- /^\d+.?\d*$/
- /\ d +?? \ d */
謝謝!在8分鐘後,我會接受。 – Andrew
請記住,這個正則表達式將匹配小數點前4位以上的數字。 :) –
是的,它會先生帕特:),我敢肯定,這些數字會高於1000,所以我沒有限制,但逗號後只有2位數字。 –