1. 程式人生 > >java利用正則表示式提取年月日資料

java利用正則表示式提取年月日資料

package com.amarsoft.court.app.util;


import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;


/**
 * 正則表示式獲取字串
 * @author ytwang
 *
 */
public class MatcherAssist {

/**
* 獲取匹配的所有字串
* @param content
* @param sPattern
* @return
*/
public static List<String> getMatcherStrs(String content,String sPattern){
Pattern p = Pattern.compile(sPattern);
Matcher m = p.matcher(content);
List<String> result=new ArrayList<String>();
while(m.find()){
result.add(m.group());
}
return result;
}

/**
* 獲取單個匹配的字串
* @param content
* @param sPattern
* @return
*/
public static String getMatcherStr(String content,String sPattern){
List<String> strs=getMatcherStrs( content, sPattern);
if(strs.size()>0){
return strs.get(0);
}else{
return "";
}

}

/**
* 獲取匹配的所有字串
* @param content
* @param sPattern
* @return
*/
public static List<String> getMatcherStrsAmong(String content,String sPattern){
Pattern p = Pattern.compile(sPattern);
Matcher m = p.matcher(content);
List<String> result=new ArrayList<String>();
while(m.find()){
result.add(m.group(1));
}
return result;
}
public static String getMatcherStrAmong(String content,String sPattern){
List<String> strs=getMatcherStrsAmong(content,sPattern);
if(strs.size()>0){
return strs.get(0);
}else{
return "";
}
}

/**
* 獲取所有匹配的日期
* @param content
* @param splitStr
* @return
*/
public static List<String> getDates(String content,String splitStr){
return getMatcherStrs(content,"\\d{4}\\"+splitStr+"\\d{1,2}\\"+splitStr+"\\d{1,2}");
}
/**
* 獲取第一個匹配的日期
* @param content
* @param splitStr
* @return
*/
public static String getDate(String content,String splitStr){
return getDates(content,splitStr).get(0);
}

public static void main(String[] args){
String str="&nbsp;&nbsp;釋出時間:2016-06-06 15:51:03 ";
getDate(str,"-");
}


}