当前位置:首页 > Java

JAVA如何正则

2026-03-19 13:26:57Java

正则表达式基础语法

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

  • 元字符

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

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

    JAVA如何正则

    • (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
分享给朋友:

相关文章

elementui正则

elementui正则

ElementUI 表单验证中使用正则表达式 ElementUI 的表单验证机制支持通过正则表达式进行自定义校验。以下为常见实现方式: 定义正则规则 在 rules 对象中通过 pattern 属性…

jquery正则匹配

jquery正则匹配

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

如何下载JAVA

如何下载JAVA

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

vue正则实现注册登录

vue正则实现注册登录

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

js 正则实现金额分割

js 正则实现金额分割

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

jquery 正则

jquery 正则

jQuery 正则表达式使用 在jQuery中,正则表达式通常用于字符串匹配、验证和替换操作。jQuery本身不提供正则表达式的特殊方法,但可以结合JavaScript原生正则表达式功能使用。 基本…