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)