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

简介: 在开发过程中,用户输入的数据往往需要接收为String字符串,而在处理时为了验证数据的格式,保证数据能够安全转换,我们可以使用正则表达式来达到这个目的。

上一篇:一文教你掌握日期操作 | 带你学《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面向对象编程文章查看此处

相关文章
|
3月前
|
JSON Java API
【干货满满】分享京东API接口到手价,用Java语言实现
本示例使用 Java 调用京东开放平台商品价格及优惠信息 API,通过商品详情和促销接口获取到手价(含优惠券、满减等),包含签名生成、HTTP 请求及响应解析逻辑,适用于比价工具、电商系统集成等场景。
|
1月前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
223 18
|
1月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
87 4
|
1月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
203 1
|
2月前
|
存储 Java Apache
Java语言操作INI配置文件策略
以上步骤展示了基本策略,在实际项目中可能需要根据具体需求进行调整优化。例如,在多线程环境中操作同一份配置时需要考虑线程安全问题;大型项目可能还需考虑性能问题等等。
167 15
|
3月前
|
算法 Java
Java语言实现链表反转的方法
这种反转方法不需要使用额外的存储空间,因此空间复杂度为,它只需要遍历一次链表,所以时间复杂度为,其中为链表的长度。这使得这种反转链表的方法既高效又实用。
370 0
|
4月前
|
监控 Java API
Java语言按文件创建日期排序及获取最新文件的技术
这段代码实现了文件创建时间的读取、文件列表的获取与排序以及获取最新文件的需求。它具备良好的效率和可读性,对于绝大多数处理文件属性相关的需求来说足够健壮。在实际应用中,根据具体情况,可能还需要进一步处理如访问权限不足、文件系统不支持某些属性等边界情况。
254 14
|
3月前
|
JSON Java API
【干货满满】分享拼多多API接口到手价,用Java语言实现
本方案基于 Java 实现调用拼多多开放平台商品详情 API,通过联盟接口获取商品到手价(含拼团折扣与优惠券),包含签名生成、HTTP 请求及响应解析逻辑,适用于电商比价、导购系统集成。
|
3月前
|
JSON Java API
【干货满满】分享淘宝API接口到手价,用Java语言实现
本文介绍了如何使用 Java 调用淘宝开放平台 API 获取商品到手价,涵盖依赖配置、签名生成、HTTP 请求与响应解析等核心实现步骤。
|
4月前
|
JavaScript Java Go
Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
324 0