当前位置:首页 > Java

java 如何用正则表达式

2026-03-03 22:31:07Java

正则表达式基础语法

Java中的正则表达式基于java.util.regex包实现,主要使用PatternMatcher类。基本语法与其他语言类似:

  • \d 匹配数字,等价于 [0-9]
  • \w 匹配字母、数字或下划线
  • \s 匹配空白字符(空格、制表符等)
  • . 匹配任意字符(除换行符外)
  • * 匹配前一个字符0次或多次
  • + 匹配前一个字符1次或多次
  • ? 匹配前一个字符0次或1次
  • {n} 匹配前一个字符恰好n次
  • ^ 匹配字符串开头
  • $ 匹配字符串结尾

创建Pattern对象

使用Pattern.compile()方法编译正则表达式:

Pattern pattern = Pattern.compile("\\d+"); // 匹配一个或多个数字

注意Java字符串中需要对反斜杠进行转义,因此正则中的\d需写成\\d

使用Matcher匹配

通过Pattern.matcher()方法创建Matcher对象:

java 如何用正则表达式

Matcher matcher = pattern.matcher("123 abc 456");

常用Matcher方法:

  • matches():整个字符串是否匹配
  • find():查找下一个匹配项
  • group():获取当前匹配内容
  • start()/end():获取匹配位置

常用匹配示例

验证邮箱格式:

java 如何用正则表达式

String emailRegex = "^[\\w.-]+@[\\w.-]+\\.[a-z]{2,}$";
Pattern emailPattern = Pattern.compile(emailRegex, Pattern.CASE_INSENSITIVE);

提取字符串中的数字:

Pattern numPattern = Pattern.compile("\\d+");
Matcher numMatcher = numPattern.matcher("Price: 100, Quantity: 5");
while(numMatcher.find()) {
    System.out.println(numMatcher.group());
}

分组捕获

使用括号()创建捕获组:

Pattern datePattern = Pattern.compile("(\\d{4})-(\\d{2})-(\\d{2})");
Matcher dateMatcher = datePattern.matcher("2023-05-15");
if(dateMatcher.matches()) {
    String year = dateMatcher.group(1);  // 2023
    String month = dateMatcher.group(2); // 05
    String day = dateMatcher.group(3);   // 15
}

字符串替换

使用replaceAll()方法进行正则替换:

String text = "foo123bar456";
String replaced = text.replaceAll("\\d+", "NUM"); // "fooNUMbarNUM"

性能优化建议

  • 频繁使用的正则表达式应编译为Pattern对象并复用
  • 简单字符串操作优先使用String方法而非正则
  • 避免过度复杂的正则表达式
  • 考虑预编译模式:static final Pattern PATTERN = Pattern.compile(...)

分享给朋友:

相关文章

如何用java

如何用java

用Java实现基础功能 Java是一种广泛使用的编程语言,适用于开发各种应用程序。以下是几个常见功能的实现方法。 打印"Hello, World!" public class HelloWorld…

react如何用echarts

react如何用echarts

在React中使用ECharts 安装ECharts和React专用封装库: npm install echarts echarts-for-react 基础使用示例 创建一个基础的柱状图组件:…

如何用java做游戏

如何用java做游戏

使用Java开发游戏的基本方法 Java是一种跨平台的编程语言,适合开发2D游戏甚至简单的3D游戏。以下是使用Java开发游戏的主要方法和工具。 选择游戏开发框架 Java游戏开发通常依赖以下框架…

如何用java编程

如何用java编程

Java编程基础指南 环境配置 安装Java开发工具包(JDK),推荐使用最新版本。配置环境变量,确保JAVA_HOME指向JDK安装路径,并将bin目录添加到系统PATH中。验证安装是否成功:…

如何用react构建单页面

如何用react构建单页面

使用React构建单页面应用(SPA)的步骤 安装Node.js和npm 确保系统已安装Node.js(包含npm)。可通过命令行输入node -v和npm -v验证版本。推荐使用LTS版本。 创…

react如何用ts写高阶组件

react如何用ts写高阶组件

使用 TypeScript 编写 React 高阶组件(HOC) 基本高阶组件结构 高阶组件(HOC)是一个函数,接收一个组件并返回一个新的组件。以下是 TypeScript 的基本实现方式: im…