Java 正则校验中文

正则表达式在 Java 中被广泛用于字符串的匹配和校验。在实际开发中,常常需要对中文进行校验。本文将介绍如何使用 Java 正则表达式校验中文,并提供代码示例来帮助理解。

什么是正则表达式?

正则表达式是一种用于匹配字符串的模式。它由普通字符(如字母、数字)和特殊字符(如元字符和限定符)组成。正则表达式可以用来验证字符串是否符合某种模式、搜索和替换字符串等。

如何校验中文?

要校验中文,我们需要使用 Unicode 编码范围来定义中文字符。在 Unicode 编码中,中文的范围为 \u4E00-\u9FA5。我们可以使用 Java 正则表达式的范围匹配来校验中文字符。

下面是一个示例代码,演示了如何使用正则表达式校验中文姓名:

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

public class ChineseValidation {
    public static void main(String[] args) {
        String name = "张三";
        String regex = "[\u4E00-\u9FA5]{2,4}";  // 匹配2-4个中文字符

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(name);

        if (matcher.matches()) {
            System.out.println("姓名校验通过");
        } else {
            System.out.println("姓名不合法");
        }
    }
}

在上面的示例中,我们使用了 Pattern 类和 Matcher 类来进行正则表达式的匹配。首先,我们定义了一个中文姓名的正则表达式 [\\u4E00-\\u9FA5]{2,4},用于匹配2-4个中文字符。然后,我们使用 Pattern.compile() 方法将正则表达式编译成一个 Pattern 对象。接下来,我们使用 Matcher 对象的 matches() 方法进行匹配,并根据匹配结果输出相应的信息。

使用正则表达式校验其他中文信息

除了校验中文姓名,我们还可以使用正则表达式来校验其他中文信息,例如中文手机号、中文地址等。下面是一些常见的中文信息校验示例代码:

校验中文手机号

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

public class ChinesePhoneValidation {
    public static void main(String[] args) {
        String phone = "13812345678";
        String regex = "^1[3456789]\\d{9}$";  // 匹配中国手机号

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(phone);

        if (matcher.matches()) {
            System.out.println("手机号校验通过");
        } else {
            System.out.println("手机号不合法");
        }
    }
}

校验中文地址

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

public class ChineseAddressValidation {
    public static void main(String[] args) {
        String address = "北京市朝阳区";
        String regex = "[\u4E00-\u9FA5]+市[\u4E00-\u9FA5]+区";  // 匹配中国地址

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(address);

        if (matcher.matches()) {
            System.out.println("地址校验通过");
        } else {
            System.out.println("地址不合法");
        }
    }
}

总结

本文介绍了如何使用 Java 正则表达式校验中文。我们使用 Unicode 编码范围定义了中文字符,并使用正则表达式的范围匹配进行校验。通过示例代码,我们演示了如何校验中文姓名、中文手机号和中文地址。希望本文能够帮助你理解和应用正则表达式校验中文。