正則工具類RegexUtil

1、無分組的match:

        public static String match(String regex,String input) {
		String res = null;
		Pattern p = Pattern.compile(regex);
		Matcher m = p.matcher(input);
                //if只匹配一次,while匹配多次
		if(m.find()) {
			res = m.group(1);
		}
		return res;
	}

2、有分組的match:

       public static ArrayList<String> matchList(String regex,String input,int grpNum) {
		ArrayList<String> list = new ArrayList<String>();
		String res = null;
		Pattern p = Pattern.compile(regex);
		Matcher m = p.matcher(input);
		while(m.find()) {
			res = m.group(grpNum);
			list.add(res);
		}
		return list;
	}

3、舉例:

public class Test {

	public static void main(String[] args) {
		String line = "<comment><content>2014年可以使用,中國中心在64層到69層共2萬平米 //@禾臣薛朝陽:#中國中心#也蓋出來了?@許立-VANTONE</content><time>2012-4-3";
		String contentReg = "<content>([\\s\\S]+)</content>";
		String content = match(contentReg, line,1);
		System.out.println(content);
	}
	public static String match(String regex,String input,int grp) {
		String res = null;
		Pattern p = Pattern.compile(regex);
		Matcher m = p.matcher(input);
		if(m.find()) {
			res = m.group(grp);
		}
		return res;
	}

}

 

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