Java正则表达式学习笔记

时间:2023-02-26 13:41:30

  

1. Java的正则表达式介绍jdk软件包中java.util.regex中,接口MatchResult,类Matcher和类Pattern。

MatchResult:此接口包含用于确定与正则表达式匹配结果的查询方法。通过 MatchResult可以查看匹配边界、组和组边界,但是不能修改。

Matcher:一个提供各种匹配模式的匹配器。

Pattern:正则表达式的编译表示形式。

2. 编写正则表达式:

用一下方法测试

package pattern;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

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. 后记  原来用到正则表达式都是网上找,一搜一大堆,自己不明白这个原理,一用一个错,大多数网路上的都是拷贝来拷贝去的,很多人没通过测试凭感觉写出来的,害人不浅。我这里的都是自己测试通过的,但是难免会出现错误或和业务需求不符,如果有疑问请和我联系。