java中的正则操作方法总结

 更新时间:2013年10月23日 10:21:37   作者:  
关于正则表达式的使用,更多的是自己的经验,有兴趣可以参阅相关书籍。这里主要写一下java中的正则操作方法

正则表达式在处理字符串的效率上是相当高的

关于正则表达式的使用,更多的是自己的经验,有兴趣可以参阅相关书籍

这里主要写一下java中的正则操作方法

实例1:匹配

复制代码 代码如下:

import java.util.Scanner;

class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //获取输入
        System.out.print("Please Enter:");
        String str = sc.nextLine();
        check(str);
    }

    private static void check(String str) {
        //匹配第一位是1-9,第二位及以后0-9(个数在4-10之间)
        String regex = "[1-9][0-9]{4,10}";

        /*
        //匹配单个字符是大小写的a-z
        String regex = "[a-zA-Z]";
        //匹配数字,注意转义字符
        String regex = "\\d";
        //匹配非数字
        String regex = "\\D";
        */

        if(str.matches(regex)) {
            System.out.println("匹配成功");
        } else {
            System.out.println("匹配失败");
        }
    }
}


此处String类中的matches()方法用于匹配

实例2:切割

复制代码 代码如下:

import java.util.Scanner;

class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Please Enter:");
        String str = sc.nextLine();
        split(str);
    }

    private static void split(String str) {
        //匹配一个或多个空格
        String regex = " +";

        String[] arr = str.split(regex);

        for (String s : arr) {
            System.out.println(s);
        }
    }
}


此处String类中的split()方法用于按正则表达式切割,返回一个String数组

实例3:替换

复制代码 代码如下:

import java.util.Scanner;

class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Please Enter:");
        String str = sc.nextLine();
        replace(str);
    }

    private static void replace(String str) {
        //匹配叠词
        String regex = "(.)\\1+";
        String s = str.replaceAll(regex, "*");
        System.out.println(s);
    }
}


注意replaceAll有两个参数,一个是正则,一个是替换的字符

相关文章

  • Java中Lambda表达式基础及使用

    Java中Lambda表达式基础及使用

    这篇文章主要介绍了Lambda 是JDK 8 的重要新特性。它允许把函数作为一个方法的参数(函数作为参数传递进方法中),使用 Lambda 表达式可以使代码变的更加简洁紧凑,使Java代码更加优雅,感兴趣的小伙伴一起来学习吧
    2021-08-08
  • Spring中@Autowired自动注入map详解

    Spring中@Autowired自动注入map详解

    这篇文章主要介绍了Spring中@Autowired自动注入map详解,  spring是支持基于接口实现类的直接注入的,支持注入map,list等集合中,不用做其他的配置,直接注入,需要的朋友可以参考下
    2023-10-10
  • JAVA CountDownLatch与thread-join()的区别解析

    JAVA CountDownLatch与thread-join()的区别解析

    这篇文章主要介绍了JAVA CountDownLatch与thread-join()的区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Java Mybatis数据源之工厂模式

    Java Mybatis数据源之工厂模式

    这篇文章主要介绍了Java Mybatis数据源之工厂模式,工厂模式是比较简单的设计模式,Mybatis的数据源的部分使用了工厂模式,文章详细介绍内容需要的朋友可以参考一下
    2022-06-06
  • Spring Boot RestController接口输出到终端的操作代码

    Spring Boot RestController接口输出到终端的操作代码

    这篇文章主要介绍了Spring Boot RestController接口如何输出到终端,使用 HttpServletResponse 类,可以在使用curl执行 Spring Boot REST接口的同时,在控制台输出一些信息,给运维人员知道当前命令执行的状态,感兴趣的朋友跟随小编一起看看吧
    2023-09-09
  • java中使用xls格式化xml的实例

    java中使用xls格式化xml的实例

    这篇文章主要介绍了java中调用xls格式化xml的实例的相关资料,需要的朋友可以参考下
    2017-07-07
  • springboot使用@data注解减少不必要代码

    springboot使用@data注解减少不必要代码

    这篇文章主要介绍了springboot使用@data注解减少不必要代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 教您如何3分钟快速搞定EasyExcel导入与导出功能

    教您如何3分钟快速搞定EasyExcel导入与导出功能

    对于EasyExcel库,我们可以使用它来实现数据的导入和导出,下面这篇文章主要给大家介绍了关于如何3分钟快速搞定EasyExcel导入与导出功能的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Java如何判断字符串中是否包含某个字符

    Java如何判断字符串中是否包含某个字符

    这篇文章主要介绍了Java如何判断字符串中是否包含某个字符,可以使用String类的contains()方法,另一种方法使用String类的indexOf方法,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • Java+Ajax实现的用户名重复检验功能实例详解

    Java+Ajax实现的用户名重复检验功能实例详解

    这篇文章主要介绍了Java+Ajax实现的用户名重复检验功能,结合实例形式详细分析了java针对用户名提交的ajax数据库查询与重复检查功能相关实现技巧与操作注意事项,需要的朋友可以参考下
    2018-12-12

最新评论