java正则表达式应用举例

/**
 * @author 作者 Bruce
 * @version 创建时间:Dec 18, 2007 11:58:14 AM
 * 类说明
 */
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//		String id = ",1,2,3,4";
		//		System.out.println(id.replaceFirst(",", ""));
		String str = "[email protected]";
		//boolean value = false;
		try {
			//长度4-10个字节/必须字母开头/只能包含字母+数字和下划线/
			//Pattern p = Pattern.compile("[a-zA-Z][a-zA-Z0-9_]{3,9}");
			Pattern p = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");//电子邮件地址校验
			Matcher m = p.matcher(str);
			if (m.matches()) {
				//value = true;
				System.out.println(m.matches());
			}
			System.out.println(m.matches());
		} catch (Exception e) {
			e.printStackTrace();
		}
		//System.out.println(value);
	}

}


\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
这是vs2003中正则表达式编辑器生成的电子邮件的正则表达式,它的意思是:
\w+ 必须以一个a-z,A-Z,0-9或_这些字符中的一个开头。
([-+.]\w+)* 的意思是:允许0个或是多个-+.a或-+.aa这样的字符,也就是说,到这里为止,邮件的地址可以是:
a-a
a+aa
a.aaa
这种作为开头。
接下来@就不用解释了,邮件必须的东西。
\w+意思同上。
([-.]\w+)*意思是允许出现0个或是多个 -.加一个字符或是多个字符 的情况。
\.意思就是.就像\\就是指\一样。
\w+([-.]\w+)*意思和上面的一样。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kgdiwss/archive/2005/08/09/449031.aspx

你可能感兴趣的:(java,.net,正则表达式,Yahoo,Blog)