Java基础篇——正则表达式
正则表达式在许多语言,例如Perl、PHP、Python、JavaScript和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