Java:正则表达式的命名捕获组

命名捕获组格式

(?<year>.*)-(?<month>.*)-(?<date>.*)

完整示例

package com.example.demo;

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

public class RegexTests {
    
    
    public static void main(String[] args) {
    
    
        String text = "2023-09-20";

        String regex= "(?<year>.*)-(?<month>.*)-(?<date>.*)";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(text);

        // 如果没有匹配,会报错:java.lang.IllegalStateException: No match found
        if(matcher.find()){
    
    
            System.out.println("year:" + matcher.group("year"));
            System.out.println("month:" + matcher.group("month"));
            System.out.println("date:" + matcher.group("date"));
        }
    }
}

参考文章

  1. Java 正则表达式的捕获组(capture group)

猜你喜欢

转载自blog.csdn.net/mouday/article/details/133297238