JAVA中正则表达式小总结(整理)

JAVA中正则表达式小总结(整理)

正则表达式的基本语法

正则表达式的语法分为两个部分,一个是元字符的语法,一个是限定符的语法。元字符代表一种类型的字符,在正则表达式中可以被用于匹配对应的字符,限定符用于限定匹配的次数。

  • 元字符的语法
元字符 说明
. 匹配任意单个字符
\ 转义字符
[] 匹配中括号内的任意一个字符
[^] 匹配不在中括号内的任意一个字符
() 匹配括号内的表达式
* 重复匹配0次或多次
+ 重复匹配1次或多次
? 重复匹配0次或1次
\d 匹配数字
\D 匹配非数字
  • 限定符的语法
限定符 说明
{m,n} 重复匹配m次到n次
{m,} 重复匹配m次或多次
{m} 重复匹配m次

在JAVA中使用正则表达式

在JAVA中使用正则表达式需要先将正则表达式编译成Pattern对象,然后再通过Matcher对象来进行匹配。

String regex = "a(b)+";
String input = "abbbbababbbb";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
    System.out.println(matcher.group());
}

上面的代码使用了正则表达式"ab+"来匹配字符串"abbbbababbbb"中的所有匹配结果。其中,find()方法用于寻找下一个匹配结果,group()方法用于获取当前匹配结果的字符串。

常见正则表达式应用场景举例

匹配身份证号码

String regex = "\\d{17}[0-9Xx]";
String input = "330302198602058252";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
    System.out.println("身份证号码格式正确");
} else {
    System.out.println("身份证号码格式错误");
}

匹配手机号码

String regex = "^1[3-9]\\d{9}$";
String input = "13812345678";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
    System.out.println("手机号码格式正确");
} else {
    System.out.println("手机号码格式错误");
}

总结

  • 正则表达式的语法分为元字符的语法和限定符的语法
  • 在JAVA中使用正则表达式需要先编译成Pattern对象,然后使用Matcher对象进行匹配
  • 正则表达式在JAVA中的应用非常广泛,可以用于各种字符串匹配、替换等操作

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA中正则表达式小总结(整理) - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • MyBatis获取参数值的两种方式详解

    MyBatis获取参数值的两种方式详解 在 MyBatis 中,获取参数值是非常常见的操作。在 SQL 语句中,通常需要传入参数来完成查询、更新等操作。那么,在 MyBatis 中,我们如何获取这些参数值呢?本文将从两个方面,详细讲解 MyBatis 获取参数值的两种方式。 使用 #{} 获取参数值 在 MyBatis 中,使用 #{} 的方式,可以方便地获…

    Java 2023年6月1日
    00
  • GC日志有哪些级别?

    GC日志在Java应用程序中是非常重要的一部分,它可以帮助开发人员了解垃圾回收的运行情况,优化垃圾回收的效率和内存使用。GC日志一般分为以下几个级别: Verbose GC :默认情况下,JVM不会记录垃圾回收的日志。我们需要通过设置“-verbose:gc”参数来启用Verbose GC日志。Verbose GC日志主要记录了垃圾回收的时间、空间以及回收后…

    Java 2023年5月11日
    00
  • 优雅地在Java 8中处理异常的方法详解

    下面是“优雅地在Java 8中处理异常的方法详解”的完整攻略。 1. 为什么要优雅地处理异常? 在Java编程中,异常处理是不可避免的。良好的异常处理可以提高代码的可读性和可维护性。而不良的异常处理则会导致代码臃肿且难以维护。因此,我们需要一个优雅的方式来处理异常。 2. Java 8中的新特性 Java 8中引入了Lambda表达式和Optional类,这…

    Java 2023年5月26日
    00
  • SpringMVC框架实现上传图片的示例代码

    在 SpringMVC 中,实现上传图片功能是一个常见的需求。本文将详细讲解 SpringMVC 框架实现上传图片的示例代码,包括如何定义上传图片的表单、如何处理上传图片的请求、如何保存上传的图片等。 定义上传图片的表单 在 SpringMVC 中,我们可以使用 HTML 表单来上传图片。下面是一个简单的示例,演示了如何定义上传图片的表单: <form…

    Java 2023年5月18日
    00
  • 使用Spring方法拦截器MethodInterceptor

    使用Spring方法拦截器MethodInterceptor可以在方法执行前、执行后、抛出异常时等时刻进行自定义的操作。以下是完整攻略及两条示例: 1. 导入Spring AOP依赖 在项目的pom.xml文件中添加以下依赖: <dependency> <groupId>org.springframework</groupId&…

    Java 2023年5月19日
    00
  • Java新手入门学习之正则表达式

    Java新手入门学习之正则表达式 什么是正则表达式? 正则表达式是一种描述字符串模式的语言,可以通过正则表达式来搜索、匹配、替换和分割文本。在Java中,可以使用Java的正则表达式API来完成对于字符串的处理。 Java中正则表达式的基本语法 Java中正则表达式的基本语法如下: pattern.matcher(str).method() 其中patter…

    Java 2023年5月27日
    00
  • Java多线程 原子性操作类的使用

    Java多线程 原子性操作类的使用 在并发编程中,多个线程同时进行操作时,可能会出现线程安全问题。例如两个线程同时对同一个变量进行增加操作,结果可能不是期望的那个。Java提供了原子性操作类来解决这个问题。 原子性操作类 Java原子类是Java编程语言中的一种特殊类,它具有原子性,线程安全性和可比性,并提供了一种简单的基于锁的技术,通过这种技术实现多线程并…

    Java 2023年5月19日
    00
  • Java读取.properties配置文件的几种方式

    Java读取.properties配置文件的几种方式 1. 使用Properties类来读取配置文件 通过使用Java中自带的Properties类,可以很方便地读取配置文件中的属性值。以下是基本的读取流程: import java.io.FileInputStream; import java.io.FileWriter; import java.io.I…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部