正则表达式在许多语言,例如Perl、PHPPythonJavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能。

正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

在本篇中只介绍简单的正则入门基础,想要详细了解的可以自行查找资料!

正则在JDK1.4之后引入到java中,最早时候的JDK,如果想要使用正则,则需要添加Apache提供的一个正则开发包。

Pattern,Matcher类

想要在程序中应用正则表达式则必须依靠Pattern类与Matcher类,这两个雷都在Java.util.regex包中定义。Pattern类主要作用是进行正则规范的编写,Matcher类中药执行规范,验证一个字符串是否符合其规范

下面通过几个个小程序来理解正则

检查是否为数字?

复制代码
package com.正则表达式;  import java.util.regex.Pattern ; public class RegexDemo02{     public static void main(String args[]){         String str = "1234567890" ;        // 此字符串由数字组成        if(Pattern.compile("[0-9]+").matcher(str).matches()){    // 使用正则            System.out.println("是由数字组成!") ;         }else{             System.out.println("不是由数字组成!") ;         }     } };
复制代码

打印结果:是由数字组成!

日期检查?

复制代码
package com.正则表达式;  import java.util.regex.Pattern ; import java.util.regex.Matcher ; public class RegexDemo03{     public static void main(String args[]){         String str = "1983-07-27" ;        // 指定好一个日期格式的字符串        String pat = "\\d{4}-\\d{2}-\\d{2}" ;    // 指定好正则表达式        Pattern p = Pattern.compile(pat) ;    // 实例化Pattern类        Matcher m = p.matcher(str) ;    // 实例化Matcher类        if(m.matches()){        // 进行验证的匹配,使用正则            System.out.println("日期格式合法!") ;         }else{             System.out.println("日期格式不合法!") ;         }     } };
复制代码

打印结果:日期格式合法!

拆分字符串

复制代码
package com.正则表达式;  import java.util.regex.Pattern ; import java.util.regex.Matcher ; public