java正则表达式的使用

package frank;
import java.lang.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.util.Arrays;
/**
 *  正则表达式
 * */
public class App
{
	public static void main(String[] args)throws Exception
	{
		/*
		String str = "frank , java!";
		System.out.println(str.replaceFirst("\\w*","@"));//从字符串的开头早,匹配\w的所有字符,直到找到不匹配的时候就会停止。贪婪模式,会一直匹配下去
		System.out.println(str.replaceFirst("\\w*?","@"));//使用勉强模式,匹配最下字符,即0个字符。
		Pattern p = Pattern.compile("a*b");//将正则编译到Pattern对象里面,表达式表示“0个或多个a,一个b”
		Matcher m = p.matcher("ab");
		boolean b = m.matches();
		System.out.println(b);
		b = Pattern.matches("a*b","aaaab");//如果正则只用一次的情况下使用静态方法即可
		System.out.println(b);
		System.out.println(p.pattern());//以字符串的形式返回正则
		System.out.println(p.flags());//返回匹配模式标记
		*/
		/*
		Matcher m = Pattern.compile("\\w",1).matcher("Java is very easy!");
		while(m.find())//查找是否有下一个匹配的字符
		{
			System.out.print(m.group());
		}
		int i = 7;
		while(m.find(i))//添入一个索引,从索引处开始找。
		{
			System.out.print(m.group()+" 起始位置:"+m.start()+"结束位置: "+m.end()+"\n");//输出对应位置的值和开始索引和结束索引。
			i++;
		}
		*/
		
		/***********验证邮件是否是正确的**********/
		/*
		String[] mails = {"sa1dsa@163.com","sad415@126.com","sad@163.xx"};
		String mailRegEx = "\\w{3,20}@\\w+\\.(com|org|cn|net|gov)";
		Pattern mailPattern = Pattern.compile(mailRegEx);
		Matcher matcher = null;
		for(String mail : mails)
		{
			if(matcher == null)
			{
				matcher = mailPattern.matcher(mail);
			}
			else
			{
				matcher.reset(mail);
			}
			String result = mail +(matcher.matches()?" 是":" 不是"+"一个有效的邮件地址!");
			System.out.println(result);
		}*/
		/*******String类里面的matcher*******/
/*		String str = "wsa@163.com";
		System.out.println(str.matches("\\w{3,20}@\\w+.(com|cn|net|org|gov)"));*/
		/******正则替换*******/
		/*
		String[] msgs = {"Java has regular"};
		Pattern p = Pattern.compile("re\\w*");
		Matcher m = null;
		for(String item : msgs)
		{
			if(m == null)
			{
				m = p.matcher(item);
			}
			else
			{
				m.reset(item);
			}
			System.out.println(m.replaceAll("哈哈:"));
		}*/
		/****正则分割***/
		String str = "sadjkadasdsa";
		System.out.println(Arrays.toString(str.split("a")));
	}
}

  

posted on 2013-10-15 17:05  wp456  阅读(186)  评论(0)    收藏  举报

导航