java正则表达式

package com.cg.tests;



import java.util.regex.Matcher;

import java.util.regex.Pattern;



import org.junit.Test;



public class TestPatternMatcher {



	@Test

	public void TestReplaceAll(){

		String s="Hello World ...";

		

		String s2=s.replaceAll("\\.", "");

		System.out.println(s2);

		

		String s3=s.replaceAll("\\S", "");

		System.out.println(s3);

		

		String sLineSep = System.getProperty("line.separator");

		String s4 = "abcdefg" + sLineSep + "中国";

		System.out.println(s4);

		System.out.println(s4.replace(sLineSep, "换行"));

		

		String s5 = "1985-01-17,在这个日期23423-2384-出生";

		Pattern pattern = Pattern.compile("\\d+");

		Matcher m = pattern.matcher(s5);

		while(m.find()){

			System.out.println(m.group()+"["+m.start()+"]-["+m.end()+"]");

		}



		System.out.println("###################");

		

		String s6="just do do do do it~!123abc@@1234efg ";

//		Pattern pdo=Pattern.compile("do\\s(do\\s)+");

		Pattern pdo=Pattern.compile("\\d+(\\w+)");

		Matcher mdo = pdo.matcher(s6);

		while (mdo.find()) {

			for (int i = 0; i < mdo.groupCount(); i++) {

//				System.out.println(mdo.group() + "[" + mdo.start() + "]-["

//						+ mdo.end() + "]");

				System.out.println(i+":"+mdo.group(i));

			}

		}

		

	}

	

	

	@Test

	public void testGreedy(){

		String html = "<table> <tr><td>123ksdjfsld</td><td>34243kdljsfkldsf</td>kdlfjsdf</tr></table";

		Matcher m = Pattern.compile("<td>((\\d+)(\\w+))</td>").matcher(html);	//非贪婪模式

		while(m.find()){

			int cnt = m.groupCount();

			System.out.println(cnt);

			for(int i=0;i<=cnt;i++){

				System.out.println("group" + i + ":" + m.group(i));

			}

		}

	}

	@Test

	public void testGreedy2(){

		String html = "klsdjfl8394387592347ksjd";

		Matcher m = Pattern.compile("\\d+?").matcher(html);	//非贪婪模式

		while(m.find()){

			System.out.println(m.group());

		}

	}

	

}

  

你可能感兴趣的:(java正则表达式)