java end_Java Matcher end()用法及代码示例

Matcher类的end()方法用于在已完成匹配结果的最后一个字符匹配之后获取偏移量。

用法:

public int end()

参数:此方法不带任何参数。

返回值:此方法返回匹配的最后一个字符后的偏移量

异常:如果尚未尝试匹配,或者先前的匹配操作失败,则此方法引发IllegalStateException。

下面的示例说明Matcher.end()方法:

示例1:

// Java code to illustrate end() method

import java.util.regex.*;

public class GFG {

public static void main(String[] args)

{

// Get the regex to be checked

String regex = "(G*s)";

// Create a pattern from regex

Pattern pattern

= Pattern.compile(regex);

// Get the String to be matched

String stringToBeMatched

= "GeeksForGeeks";

// Create a matcher for the input String

Matcher matcher

= pattern

.matcher(stringToBeMatched);

// Get the current matcher state

MatchResult result

= matcher.toMatchResult();

System.out.println("Current Matcher: "

+ result);

while (matcher.find()) {

// Get the last index of match result

System.out.println(matcher.end());

}

}

}

输出:

Current Matcher: java.util.regex.Matcher[pattern=(G*s) region=0,13 lastmatch=]

5

13

示例2:

// Java code to illustrate end() method

import java.util.regex.*;

public class GFG {

public static void main(String[] args)

{

// Get the regex to be checked

String regex = "(G*G)";

// Create a pattern from regex

Pattern pattern

= Pattern.compile(regex);

// Get the String to be matched

String stringToBeMatched

= "GFG FGF GFG";

// Create a matcher for the input String

Matcher matcher

= pattern

.matcher(stringToBeMatched);

// Get the current matcher state

MatchResult result

= matcher.toMatchResult();

System.out.println("Current Matcher: "

+ result);

while (matcher.find()) {

// Get the last index of match result

System.out.println(matcher.end());

}

}

}

输出:

Current Matcher: java.util.regex.Matcher[pattern=(G*G) region=0,11 lastmatch=]

1

3

6

9

11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java MatcherJava中的一个类,用于对字符串进行匹配操作。它是通过正则表达式来实现字符串匹配的功能。Matcher类提供了一系列方法,可以用于查找、匹配和替换字符串。 Matcher类的常用方法包括: 1. `matches()`:尝试将整个输入序列与模式进行匹配。 2. `find()`:在输入序列中查找下一个匹配项。 3. `group()`:返回与上一次匹配操作相匹配的输入子序列。 4. `start()`:返回上一次匹配操作的起始索引。 5. `end()`:返回上一次匹配操作的结束索引。 使用Matcher类需要先创建一个Pattern对象,通过Pattern对象的`matcher()`方法来创建一个Matcher对象。然后可以使用Matcher对象的方法进行字符串匹配操作。 下面是一个示例代码,演示了如何使用Matcher类进行字符串匹配: ```java import java.util.regex.Matcher; import java.util.regex.Pattern; public class MatcherExample { public static void main(String[] args) { String input = "Hello, World! This is a test string."; String pattern = "\\b\\w+\\b"; // 匹配单词 Pattern p = Pattern.compile(pattern); Matcher m = p.matcher(input); while (m.find()) { System.out.println("Match: " + m.group()); System.out.println("Start index: " + m.start()); System.out.println("End index: " + m.end()); } } } ``` 输出结果: ``` Match: Hello Start index: 0 End index: 5 Match: World Start index: 7 End index: 12 Match: This Start index: 15 End index: 19 Match: is Start index: 20 End index: 22 Match: a Start index: 23 End index: 24 Match: test Start index: 25 End index: 29 Match: string Start index: 30 End index: 36 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值