跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Java正则表达式详解及实用案例(附详细代码)

目录前言什么是正则表达式?

正则表达式的典型应用:

Java 正则表达式的基本用法(1) 字符类(2) 预定义字符类(3) 数量词正则表达式实际应用(1) 校验规则校验QQ号校验手机号码校验邮箱地址校验座机号码(2) 文本查找查找包含版本号的 Java 关键字总结前言正则表达式是一种强大的工具,用于处理字符串匹配和文本解析。在这篇博客中,我们将通过代码示例,详细讲解正则表达式的基本语法规则以及在Java中的实际应用什么是正则表达式?

正则表达式(Regular Expression)是一种用来描述字符模式的规则。它可以用来验证字符串是否符合规则,或者从一段文本中提取特定的子字符串

正则表达式的典型应用:

字符串校验(如校验手机号码、邮箱地址等)

文本搜索与替换数据解析Java 正则表达式的基本用法在Java中,Pattern和Matcher类是处理正则表达式的核心。以下是几个关键概念和用法:(1) 字符类字符类用来匹配特定范围内的字符。以下是常见的字符类:表达式描述[abc]匹配a、b或c[^abc]匹配除a、b和c以外的字符[a-zA-Z]匹配任意大小写英文字母[a-d[m-p]]匹配a-d或m-p范围内的字符[a-z&&[^bc]]匹配a-z中除了b和c的字符

代码示例:

System.out.println("a".matches("[abc]")); // true System.out.println("z".matches("[abc]")); // false System.out.println("bc".matches("[abc][abc]")); // true(2) 预定义字符类预定义字符类是字符类的简化写法,用来匹配常见的字符类型表达式描述.匹配任意字符\d匹配数字,等价于[0-9]\D匹配非数字,等价于[^0-9]\s匹配空白字符\S匹配非空白字符\w匹配字母、数字、下划线,等价于[a-zA-Z0-9_]\W匹配非字母、数字、下划线

代码示例:

System.out.println("123".matches("\\d+")); // true System.out.println("@".matches("\\w")); // false System.out.println("abc_123".matches("\\w+")); // true(3) 数量词数量词用来指定字符出现的次数表达式描述X?匹配X0 次或 1 次X*匹配X0 次或多次X+匹配X1 次或多次X{n}匹配X恰好出现n次X{n,}匹配X至少出现n次X{n,m}匹配X至少出现n次但不超过m次

代码示例:

System.out.println("123456789".matches("\\d{9}")); // true System.out.println("123".matches("\\d{1,5}")); // true正则表达式实际应用(1) 校验规则校验QQ号规则:6-20位数字,不能以 0 开头String qq = "12345678987";System.out.println(qq.matches("[1-9]\\d{5,19}")); // true校验手机号码规则:以1开头,第二位是3-9,后面跟 9 位数字String phone = "13933447894";System.out.println(phone.matches("1[3-9]\\d{9}")); // true校验邮箱地址规则:用户名部分允许字母、数字、下划线,域名部分允许字母和数字,支持多级后缀String email = "gaomengsuanjia@163.com";System.out.println(email.matches("\\w+([-+.']\\w+)*@[a-zA-Z0-9]+(\\.[a-zA-Z]{2,})+")); // true校验座机号码规则:开头以0,后接 2-3 位区号,支持带或不带连字符String tel = "020-5698137";System.out.println(tel.matches("0\\d{2,3}-?[1-9]\\d{4,9}")); // true(2) 文本查找利用Pattern和Matcher可以在大段文本中找到符合条件的子串查找包含版本号的 Java 关键字String text = "java8和java11是长期支持版本,下一个是java17。";Pattern pattern = Pattern.compile("java\\d{0,2}");Matcher matcher = pattern.matcher(text);while (matcher.find()) {System.out.println(matcher.group());}// 输出:java8、java11、java17通过以上代码示例和解释,我们了解了正则表达式的基本规则及在Java中的应用方式。正则表达式作为字符串处理的利器,可以极大提高开发效率。在实际项目中,我们可以利用正则表达式解决各种文本匹配和校验问题最后,为了帮助大家复习正则表达式,可以玩一个小游戏

总结到此这篇关于Java正则表达式详解及实用案例的文章就介绍到这了,更多相关Java正则表达式实用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:Java 正则表达式详解JAVA正则表达式 Pattern和Matcher Java 正则表达式学习总结和一些小例子java中 利用正则表达式提取( )内内容JAVA中正则表达式匹配,替换,查找,切割的方法Java正则表达式入门基础篇(新手必看) Java正则表达式过滤出字母、数字和中文Java正则表达式提取字符的方法实例java正则表达式四种常用的处理方式(匹配、分割、替代、获取)

相关文章