Java正则表达式详解【工作笔记】

最近在项目中经常用到正则表达式

今天就写一篇博文和大家一起巩固下关于正则表达式的相关知识。

什么是正则表达式?

正则表达式是一种用来描述、匹配和操作字符串的强大工具。它可以用于验证输入的字符串、提取特定格式的字符串、替换字符串中的特定部分等操作。

正则表达式的基本语法

在Java中,我们使用java.util.regex包提供的类来操作正则表达式。下面是一些常用的正则表达式语法:

  1. .:匹配任意单个字符(除了换行符)。
  2. []:定义字符集,匹配字符集中的任意一个字符。
  3. [^]:定义反向字符集,匹配除了字符集中的任意一个字符以外的字符。
  4. *:匹配前面的元素零次或多次。
  5. +:匹配前面的元素一次或多次。
  6. ?:匹配前面的元素零次或一次。
  7. {n}:匹配前面的元素恰好n次。
  8. {n,}:匹配前面的元素至少n次。
  9. {n,m}:匹配前面的元素至少n次,最多m次。
  10. ():定义子表达式,通常用来限定操作符的作用范围和优先级。
  11. |:匹配两个或多个表达式之一。

更多的正则表达式语法,请参考Java官方文档。

Java中使用正则表达式

Java提供了PatternMatcher两个类来使用正则表达式。下面是一个简单的示例代码:

import java.util.regex.*;

public class RegexDemo {
    public static void main(String[] args) {
        String input = "Hello, 123456!";
        String pattern = "\\d+";

        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(input);

        while (m.find()) {
            System.out.println("匹配到的数字:" + m.group());
        }
    }
}

代码解析:

  1. 首先定义了一个输入字符串input和一个正则表达式模式pattern
  2. 使用Pattern.compile()方法将正则表达式编译成一个Pattern对象。
  3. 使用p.matcher(input)方法创建一个Matcher对象,用于进行匹配。
  4. 使用m.find()方法循环查找输入字符串中与正则表达式匹配的部分。
  5. 使用m.group()方法获取匹配到的部分。

在上述示例中,正则表达式\\d+表示匹配一个或多个数字。运行以上代码,输出结果为:

匹配到的数字:123456

总结

本篇博客介绍了Java中正则表达式的基本语法和使用方法,并附上了一个简单的示例代码。希望通过阅读本文,大家对Java正则表达式有一定的了解。

你可能感兴趣的:(日常开发问题记录,java,正则表达式,笔记)