Java正则表达式学习笔记
1. Java的正则表达式介绍jdk软件包中java.util.regex中,接口MatchResult,类Matcher和类Pattern。
MatchResult:此接口包含用于确定与正则表达式匹配结果的查询方法。通过 MatchResult可以查看匹配边界、组和组边界,但是不能修改。
Matcher:一个提供各种匹配模式的匹配器。
Pattern:正则表达式的编译表示形式。
2. 编写正则表达式:
用一下方法测试
package pattern;
imp
imp
public class PatternTset {
/**
*@author: zhangjp
*@功能:测试正在表达式
*@公用:否
*@date:Apr 27, 2010 4:27:57 PM
**/
public static void main(String[] args) {
String str = "543_5rtfd1re_s@1.com";
Pattern p = Pattern.compile("^[\\w]{1,20}@[\\w]+[.][\\w]+$");
Matcher matcher = p.matcher(str);
boolean b = matcher.matches();
System.out.println(b);
}
}
3. 常用正则表达式:(本人亲自编写,一一测试通过,请放心使用)
1.邮箱:"^[\\w]{1,20}@[\\w]+[.][\\w]+$"
2.手机:"^[1][358][0-9]{9}$"
3.单字字符(a-zA-Z_0-9):"^[\\w]+$"
4.六到十位单字字符:"^[\\w]{6,10}$"
5.六到十位单字字符含下划线:"^[\\w]{6,10}$"
6.正整数:"^[1-9][0-9]*$"
7.四位正整数:"^[1-9][0-9]{3}$"
8.一到四位正整数:"^[1-9][0-9]{0,3}$"
9.四位数字:"^[0-9]{4}$"
10.正数(小数加正数,长度不限):"^([0]|[1-9][0-9]*)[.][0-9]*$"
11.小数点后四位小数:"^([0]|[1-9][0-9]*)[.][0-9]{1,4}$"
12.日期:"^[1-9][\\d]{3}[-]([0][1-9]|[1][0-2])[-]([0-2][1-9]|[3][0-1])$"
(此日期匹配只匹配如2000-01-02这种格式)
13.身份证(15位或18位,18位末尾允许带x):"^[\\d]{15}|([\\d]{17}([\\d]|x))$"
14.负整数 : "^[-][1-9][0-9]*$"
15. 浮点数:"^[-]?([0]|[1-9][\\d]*)[.][\\d]*$"
4. 后记 原来用到正则表达式都是网上找,一搜一大堆,自己不明白这个原理,一用一个错,大多数网路上的都是拷贝来拷贝去的,很多人没通过测试凭感觉写出来的,害人不浅。我这里的都是自己测试通过的,但是难免会出现错误或和业务需求不符,如果有疑问请和我联系。