当前位置:首页 > Java

JAVA如何正则

2026-03-19 13:26:57Java

正则表达式基础语法

在Java中,正则表达式通过 java.util.regex 包实现,核心类为 PatternMatcher

JAVA如何正则

  • 元字符

    JAVA如何正则

    • . 匹配任意单个字符(除换行符)。
    • \d 匹配数字,等价于 [0-9]
    • \w 匹配单词字符(字母、数字、下划线)。
    • \s 匹配空白字符(空格、制表符等)。
  • 量词

    • * 匹配前一个元素零次或多次。
    • + 匹配前一个元素一次或多次。
    • ? 匹配前一个元素零次或一次。
    • {n} 精确匹配 n 次。
  • 分组与捕获

    • (pattern) 捕获分组,可通过 Matcher.group(int) 获取。
    • (?:pattern) 非捕获分组。

Java 正则表达式使用示例

匹配字符串

import java.util.regex.*;

String text = "Hello, 123 World!";
Pattern pattern = Pattern.compile("\\d+"); // 匹配数字
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
    System.out.println("Found: " + matcher.group());
}

替换字符串

String replaced = text.replaceAll("\\d+", "NUM");
System.out.println(replaced); // 输出: Hello, NUM World!

验证格式(如邮箱)

String email = "test@example.com";
boolean isValid = email.matches("[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}");
System.out.println(isValid); // 输出: true

常见正则表达式场景

提取URL中的域名

String url = "https://www.example.com/path";
Pattern domainPattern = Pattern.compile("https?://([^/]+)");
Matcher domainMatcher = domainPattern.matcher(url);
if (domainMatcher.find()) {
    System.out.println("Domain: " + domainMatcher.group(1));
}

分割字符串

String data = "apple,orange,banana";
String[] fruits = data.split(","); // 按逗号分割

注意事项

  • 转义字符:Java 字符串中需对反斜杠 \ 双重转义,如 \\d 表示正则的 \d
  • 性能优化:频繁使用的正则表达式应预编译为 Pattern 对象。
  • 贪婪匹配:默认量词为贪婪模式,添加 ? 可改为懒惰模式(如 .*?)。

标签: 正则JAVA
分享给朋友:

相关文章

js正则实现换行

js正则实现换行

正则表达式匹配换行符的方法 在JavaScript中,正则表达式匹配换行符需要注意不同操作系统的换行符差异。常见换行符包括: \n:Unix/Linux换行符 \r\n:Windows换行符 \r:…

jquery正则匹配

jquery正则匹配

jQuery 正则匹配方法 在jQuery中,正则表达式通常与JavaScript原生方法结合使用,因为jQuery本身并未提供专门的正则匹配API。以下是常见的实现方式: 字符串匹配示例 var…

如何下载JAVA

如何下载JAVA

下载Java的步骤 访问Oracle官方网站的Java下载页面(https://www.oracle.com/java/technologies/javase-downloads.html),选择适合…

java如何使用正则

java如何使用正则

使用正则表达式的基本步骤 在Java中使用正则表达式需要依赖java.util.regex包,主要涉及Pattern和Matcher两个类。以下是基本使用方法: 创建正则表达式模式对象 Patte…

vue正则实现注册登录

vue正则实现注册登录

Vue 中实现注册登录的正则验证 在 Vue 项目中,可以通过正则表达式对用户输入的注册和登录信息进行验证。以下是常见的验证方法和实现示例。 用户名验证 用户名通常要求包含字母、数字或下划线,长度在…

js 正则实现金额分割

js 正则实现金额分割

使用正则表达式实现金额分割 在JavaScript中,可以使用正则表达式对金额进行格式化,常见的需求包括千位分隔符的添加。以下是几种实现方法: 方法一:使用正则表达式添加千位分隔符 function…