Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java正则表达式匹配字符串


在 Java 中,使用正则表达式进行字符串匹配有多种实现方式。我将为您介绍两种常见的方法:使用 java.util.regex 包中的 PatternMatcher 类,以及使用第三方库 Apache Commons Validator 中的 RegexValidator 类。以下是详细的步骤流程和示例代码。

方法一:使用 java.util.regex 包

导入必要的包

import java.util.regex.Matcher;
import java.util.regex.Pattern;

创建正则表达式模式

String regex = "your_pattern_here";
Pattern pattern = Pattern.compile(regex);

创建 Matcher 对象并进行匹配

String input = "your_input_string_here";
Matcher matcher = pattern.matcher(input);

if (matcher.matches()) {
    // 匹配成功的操作
} else {
    // 匹配失败的操作
}

示例代码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexExample {
    public static void main(String[] args) {
        String regex = "\\d{3}-\\d{2}-\\d{4}"; // 匹配 xxx-xx-xxxx 格式的字符串
        Pattern pattern = Pattern.compile(regex);
        String s1 = "123-45-6789";
        String s2 = "abc-def-ghij";

        Matcher matcher1 = pattern.matcher(s1);
        Matcher matcher2 = pattern.matcher(s2);

        if (matcher1.matches()) {
            System.out.println(s1 + " 是合法的格式。");
        } else {
            System.out.println(s1 + " 不是合法的格式。");
        }

        if (matcher2.matches()) {
            System.out.println(s2 + " 是合法的格式。");
        } else {
            System.out.println(s2 + " 不是合法的格式。");
        }
    }
}

方法二:使用 Apache Commons Validator

添加 Maven 依赖

<dependency>
    <groupId>commons-validator</groupId>
    <artifactId>commons-validator</artifactId>
    <version>1.7</version>
</dependency>

使用 RegexValidator 进行匹配

import org.apache.commons.validator.routines.RegexValidator;

创建并使用 RegexValidator 对象

String regex = "your_pattern_here";
RegexValidator validator = new RegexValidator(regex);

String input = "your_input_string_here";
boolean isValid = validator.isValid(input);

示例代码:

import org.apache.commons.validator.routines.RegexValidator;

public class RegexValidatorExample {
    public static void main(String[] args) {
        String regex = "\\d{3}-\\d{2}-\\d{4}"; // 匹配 xxx-xx-xxxx 格式的字符串
        RegexValidator validator = new RegexValidator(regex);
        String s1 = "123-45-6789";
        String s2 = "abc-def-ghij";

        if (validator.isValid(s1)) {
            System.out.println(s1 + " 是合法的格式。");
        } else {
            System.out.println(s1 + " 不是合法的格式。");
        }

        if (validator.isValid(s2)) {
            System.out.println(s2 + " 是合法的格式。");
        } else {
            System.out.println(s2 + " 不是合法的格式。");
        }
    }
}

请确保在实际使用时将 "your_pattern_here" 替换为您需要匹配的实际正则表达式,将 "your_input_string_here" 替换为要进行匹配的实际输入字符串。

regex`包的内置功能、使用第三方库ApacheCommonsValidator和使用第三方库Guava的`CharMatcher`类。示 ...
###方法一:使用Unicode范围匹配汉字这种方式利用了汉字在Unicode编码中的范围,从`\u4e00`到`\u9fa5`是汉字的范围 ...
在Python中,字符串匹配是一项常见的任务,用于查找一个字符串中是否包含另一个特定的子字符串。示例代码:###使用正则表达式re模块正则表 ...
假设我们有一个字符串,想要从中提取符合特定模式的子字符串,比如提取所有的邮箱地址。示例代码:Maven依赖:Gradle依赖:###使用Ap ...
regex包(标准库)这是Java标准库中的正则表达式实现,无需额外的依赖。示例代码:###方式二:使用ApacheCommonsValid ...