// 表达式对象
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);
}
正则解析分红
最新推荐文章于 2024-03-25 14:16:23 发布