java 裏的正則表達式

java 裏的正則表達式和 c# 中的不一樣。尤其是從中提取部分字符串的時候。比如說,給定一個字符串,

REF ( RMB 393.00000,OTHERS

要從中提取出數值,c# 只需要給數值匹配的正則表達式就可。一個參考:

[0-9]+(\.[0-9]+)? 

 然後取匹配到的內容即可。

 

對於 java, 需要設計一個匹配整個內容的正則表達式,然後從中取出數值的分組。參考如下:

[^0-9]*([0-9]+(\.[0-9]+)?).*

 然後從中取出第 1 個 group。

String input = "REF ( RMB 393.00000,OTHERS";
Matcher matcher = pattern.matcher(input, Pattern.DOTALL);
if(matcher.matches()){   String num = matcher.group(1);
}

創建 matcher 那一句,在最後加入 Pattern.DOTALL 表示就算內容中包含回車換行符也能正常匹配。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章