Java 正则 中的 MatchResult int start

首页 / 正则入门教程 / Java 正则 中的 MatchResult int start

java.time.MatchResult.start(int group)方法返回在此匹配过程中给定组捕获的子序列的起始索引。

int start(int group) - 声明

int start(int group)
  • group   -  该匹配器模式中捕获组的索引。

int start(int group) - 返回值

该组捕获的第一个字符的索引;如果匹配成功,但组本身不匹配任何内容,则为-1。

链接:https://www.learnfk.comhttps://www.learnfk.com/javaregex/javaregex-matchresult-start1.html

来源:LearnFk无涯教程网

int start(int group) - 异常

  • IllegalStateException  - 如果尚未尝试匹配,或者先前的匹配操作失败。

  • IndexOutOfBoundsException - 如果模式中没有具有给定索引的捕获组。

int start(int group) - 示例

下面的示例显示java.time.MatchResult.start(int group)方法的用法。

package com.learnfk;

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

public class MatchResultDemo {
   private static final String REGEX = "(.*)(\\d+)(.*)";
   private static final String INPUT = "This is a sample Text, 1234, with numbers in between.";

   public static void main(String[] args) {
      //创建一个模式(pattern)
      Pattern pattern = Pattern.compile(REGEX);
      
      //获取匹配器(matcher)对象
      Matcher matcher = pattern.matcher(INPUT); 

      if(matcher.find()) {
         //获取 MatchResult 对象
         MatchResult result = matcher.toMatchResult();

         //打印此匹配期间给定组捕获的子序列的开始索引。
         System.out.println("Second Capturing Group - Match String start(1): "+result.start(1));
      }
   }
}

让无涯教程编译并运行以上程序,这将产生以下输出-

无涯教程网

Second Capturing Group - Match String start(1): 0

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

微服务架构核心20讲 -〔杨波〕

Service Mesh实践指南 -〔周晶〕

技术领导力实战笔记 -〔TGO鲲鹏会〕

安全攻防技能30讲 -〔何为舟〕

Java业务开发常见错误100例 -〔朱晔〕

性能优化高手课 -〔尉刚强〕

手把手带你写一个Web框架 -〔叶剑峰〕

Spring Cloud 微服务项目实战 -〔姚秋辰(姚半仙)〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

好记忆不如烂笔头。留下您的足迹吧 :)