java正则匹配中文姓名

public static void validateChineseName(String name) {
		String regEx = "[\u4E00-\u9FA5]{2,5}(?:·[\u4E00-\u9FA5]{2,5})*";
		
		Pattern pattern = Pattern.compile(regEx);
		Matcher matcher = pattern.matcher(name);
		boolean isMatch = matcher.matches();
		System.out.println(isMatch);;
	}

Java中可以使用正则表达式匹配和提取字符串中的内容。以下是一个简单的示例代码: ```java import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExample { public static void main(String[] args) { String input = "Hello, my name is John. I am 30 years old."; String pattern = ".*name is (\\w+).* (\\d+) years old."; // 创建 Pattern 对象 Pattern p = Pattern.compile(pattern); // 创建 Matcher 对象 Matcher m = p.matcher(input); // 查找匹配 if (m.find()) { // 输出第一个捕获组的值,即名字 System.out.println("Name: " + m.group(1)); // 输出第二个捕获组的值,即年龄 System.out.println("Age: " + m.group(2)); } else { System.out.println("No match found."); } } } ``` 运行以上代码,输出结果为: ``` Name: John Age: 30 ``` 在上面的代码中,我们首先定义了一个字符串 input,该字符串包含了一些文本信息。然后,我们定义了一个正则表达式 pattern,该正则表达式用于匹配 input 中的文本信息,并且包含了两个捕获组,用于提取名字和年龄信息。 接着,我们使用 Pattern 类的 compile() 方法将正则表达式编译成一个 Pattern 对象,并且使用 Matcher 类的 matcher() 方法创建一个 Matcher 对象,该对象用于在 input 中查找匹配的文本信息。 最后,我们使用 Matcher 对象的 find() 方法查找匹配,并且使用 group() 方法提取捕获组中的信息。在本例中,我们输出了第一个捕获组的值(即名字)和第二个捕获组的值(即年龄)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值