java正则表达式匹配整数或小数

public static void main(String[] args) {
		// TODO Auto-generated method stub
		String content = "k23z9g553.$0.1237.333";
		String regex="([1-9]\\d*\\.?\\d+)|(0\\.\\d*[1-9])|(\\d+)";	
		//分别是1.9这样的小数,0.9这样的小数和整数99	
		//最后\\d不写匹配553时会匹配出553.$
		Pattern pattern=Pattern.compile(regex);
		Matcher matcher=pattern.matcher(content);
		while(matcher.find()) {
			System.out.println(matcher.group());
		}
		

结果是这个
23
9
553
0.1237
333

你可能感兴趣的:(java)