如何用正则表达式的命名捕获组提取特定信息?

2026-04-19 06:411阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计224个文字,预计阅读时间需要1分钟。

如何用正则表达式的命名捕获组提取特定信息?

命令行捕获格式:`(?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+=%272023-0%E2%80%9D+}}+`

命名捕获组格式

(?<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)

如何用正则表达式的命名捕获组提取特定信息?

本文共计224个文字,预计阅读时间需要1分钟。

如何用正则表达式的命名捕获组提取特定信息?

命令行捕获格式:`(?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+=%272023-0%E2%80%9D+}}+`

命名捕获组格式

(?<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)

如何用正则表达式的命名捕获组提取特定信息?