初识正则表达式 | 带你学《Java语言高级特性》之二十三

上一篇:一文教你掌握日期操作 | 带你学《Java语言高级特性》之二十二
在开发过程中,用户输入的数据往往需要接收为String字符串,而在处理时为了验证数据的格式,保证数据能够安全转换,我们可以使用正则表达式来达到这个目的。
【本节目标】
通过阅读本节内容,你可以了解到常用的验证字符串格式的方法是使用正则表达式,并学会简单的使用正则表达式来验证字符串是否为数字。

通过之前一系列的分析可以发现,String是一个非常万能的类型,因为String不仅仅可以支持有各种字符串的处理操作,也支持有向各个数据类型的转换功能,所以在项目的开发中,只要是用户输入的信息基本上都用String表示。于是在向其他数据类型转换时,为了保证转换的正确性,往往需要对其进行一些复杂的验证处理,那么这种情况下如果只是单纯的依靠String类中的方法是非常麻烦的。

认识正则表达式

现在假设有一个字符串要求你判断是否由数字所组成,如果由数字所组成则将其变为数字进行乘法计算。

public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        String str = "123";
        if (isNumber(str)) {
            int num = Integer.parseInt(str);
            System.out.println(num * 2);   //246
        }
    }
    public static boolean isNumber(String str) {
        char data[] = str.toCharArray();
        for (int x=0;x < data.length;x++){
             if (data[x] >'9'|| data[x]< '0'){
                 return false;
             }
        }
        return true;
    }
}

实际上这种验证的功能是非常简单的,但是这如此简单的功能却需要开发者编写大量的程序逻辑代码,那如果更加复杂的验证呢?那么在这种情况下,对于验证来讲最好的做法就是利用正则表达式来完成。

范例:使用正则表达式实现同样的效果

public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        String str = "123";
        if (str.matches("\\d+")) {
            int num = Integer.parseInt(str);
            System.out.println(num * 2);   //246
        }
    }
}

正则表达式最早是从Perl语言里面发展而来的,而后在JDK 1.4以前如果 需要使用到正则表达式的相关定义则需要单独引入其他的*.jar文件,但是从JDK1.4后,正则已经默认被JDK所支持,并且提供有java.util.regex开发包,同时针对于String 类也进行了一些修改,使其可以有方法直接支持正则处理。

使用正则最大特点在于方便进行验证处理,以及方便进行复杂字符串的修改处理。

想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:使用正则必备标记 | 带你学《Java语言高级特性》之二十四
更多Java面向对象编程文章查看此处

上一篇:思科家伙的Linux路由手册/书籍/讲座/教程/视频


下一篇:谷歌允许员工相互捐赠休假时间