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。

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

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

技术教程推荐

从0开始做增长 -〔刘津〕

深入浅出计算机组成原理 -〔徐文浩〕

Kafka核心源码解读 -〔胡夕〕

TensorFlow 2项目进阶实战 -〔彭靖田〕

WebAssembly入门课 -〔于航〕

爱上跑步 -〔钱亮〕

Redis源码剖析与实战 -〔蒋德钧〕

手把手带你搭建推荐系统 -〔黄鸿波〕

PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕

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