正则解析分红

// 表达式对象
		Pattern p = Pattern.compile("<span.*?><a.*?>.*?</a>(<a.*?>(\\d{6})</a>)</span>[\\s ]*(10(?:(?:送(\\d{1,2})股)?(?:转(\\d{1,3}(?:.\\d{1,4})?)股)?(?:派(\\d{1,3}(?:.\\d{1,4})?)元\\(含税\\))?)\\s*?派息日(\\d{4}-\\d{2}-\\d{2}))");
		// 创建 Matcher 对象
		Matcher m = p.matcher(doc.toString());

		List<StockDividend> sds = new ArrayList<StockDividend>();
		while(m.find()){
			int i=1;
			StockDividend sd = new StockDividend();
			sd.setCode(m.group(i++));
			sd.setDescs(m.group(i++));
			sd.setGiven(ParseUtil.parseInteger(m.group(i++)));
			sd.setTransmit(ParseUtil.parseInteger(m.group(i++)));
			sd.setDividends(ParseUtil.parseDouble(m.group(i++)));
			sd.setDividendDate(ParseUtil.parseDate(m.group(i++)));
			/*
			System.out.println("_______________________________________________________________________");
			System.out.println("name:"+m.group(i++)+"("+m.group(i++)+")");
			System.out.println("desc:"+m.group(i++));
			System.out.println("送:"+m.group(i++));
			System.out.println("转:"+m.group(i++));
			System.out.println("派:"+m.group(i++));
			System.out.println("除权日期:"+m.group(i++));*/
			sds.add(sd);
		}

猜你喜欢

转载自snowelf.iteye.com/blog/2213731