当前位置:首页 > Java

java如何用正则

2026-03-22 05:53:18Java

正则表达式在Java中的基本使用

Java通过java.util.regex包提供正则表达式支持,核心类包括PatternMatcher。以下是基本用法:

定义正则表达式

String regex = "a*b"; // 匹配0个或多个a后接b
Pattern pattern = Pattern.compile(regex);

匹配字符串

Matcher matcher = pattern.matcher("aaab");
boolean matches = matcher.matches(); // 返回true

常用正则方法

字符串直接匹配

String input = "123abc";
boolean isMatch = input.matches("\\d+[a-z]+"); // 匹配数字+字母

查找多个匹配项

Matcher matcher = Pattern.compile("\\w+").matcher("Hello World");
while (matcher.find()) {
    System.out.println(matcher.group()); // 输出"Hello"和"World"
}

分组与捕获

提取分组内容

Matcher m = Pattern.compile("(\\d{3})-(\\d{4})").matcher("123-4567");
if (m.matches()) {
    String areaCode = m.group(1); // "123"
    String localNum = m.group(2); // "4567"
}

命名分组(Java 7+)

Pattern p = Pattern.compile("(?<area>\\d{3})-(?<local>\\d{4})");
Matcher m = p.matcher("123-4567");
if (m.find()) {
    System.out.println(m.group("area")); // 输出"123"
}

替换操作

简单替换

String result = "a1b2c3".replaceAll("\\d", "X"); // "aXbXcX"

动态替换

String output = "John Doe".replaceAll("(\\w+) (\\w+)", "$2, $1"); // "Doe, John"

常用正则模式示例

验证邮箱格式

boolean isValidEmail = "user@example.com".matches("[\\w.-]+@[\\w.-]+\\.[a-z]{2,}");

提取HTML标签内容

Pattern tagPattern = Pattern.compile("<title>(.+?)</title>");
Matcher tagMatcher = tagPattern.matcher("<title>Example</title>");
if (tagMatcher.find()) {
    System.out.println(tagMatcher.group(1)); // 输出"Example"
}

性能优化建议

预编译常用正则表达式:

private static final Pattern DATE_PATTERN = Pattern.compile("\\d{4}-\\d{2}-\\d{2}");

避免贪婪匹配导致的性能问题:

java如何用正则

// 使用非贪婪量词
Pattern.compile("<div>.+?</div>"); // 而非".+"

标签: 正则如何用
分享给朋友:

相关文章

如何用java做游戏

如何用java做游戏

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

vue正则实现注册登录

vue正则实现注册登录

实现注册登录的正则验证 在Vue中实现注册登录功能时,正则表达式常用于验证用户输入的有效性。以下是常见的验证场景和对应的实现方法。 用户名验证 用户名通常要求包含字母、数字或下划线,长度在3-16个…

如何用ts重构react项目

如何用ts重构react项目

使用 TypeScript 重构 React 项目的步骤 安装 TypeScript 及相关依赖 在项目中安装 TypeScript 和 React 的类型定义文件: npm install -…

React如何用canvas画出人脸

React如何用canvas画出人脸

使用React和Canvas绘制人脸 在React中使用Canvas绘制人脸可以通过以下方法实现。这里以绘制一个简化的人脸为例,涵盖基本的脸部轮廓、眼睛、鼻子和嘴巴。 创建Canvas组件 创建一个…

react如何用ts写高阶组件

react如何用ts写高阶组件

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

如何用命令行新建react项目

如何用命令行新建react项目

使用 create-react-app 创建项目 安装最新版本的 create-react-app 工具后,在命令行运行以下命令生成新项目: npx create-react-app my-ap…