📌  相关文章
📜  Java中的 Matcher end() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:31:53.990000             🧑  作者: Mango

Java中的 Matcher end() 方法及示例

在Java中,Matcher类是用于匹配文本的一个工具类。其中,end()方法用于返回当前匹配的子串的结束位置。

方法签名

public int end()

示例

假设我们有一个字符串 "hello world",我们想要找到其中所有以小写字母开头的单词,可以使用以下代码:

String regex = "\\b[a-z]+\\b";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher("hello world");

while (matcher.find()) {
    String word = matcher.group();
    int start = matcher.start();
    int end = matcher.end();
    System.out.println(String.format("Found '%s' at position %d-%d", word, start, end));
}

在这个例子中,我们首先定义了一个正则表达式 \\b[a-z]+\\b,用于匹配小写字母开头的单词。然后,我们使用Pattern类将正则表达式编译为一个模式。

接着,我们使用Matcher类的matcher()方法将要匹配的字符串传入,生成一个匹配器对象 matcher。我们通过循环查找出所有匹配的子串,并分别记录子串的值、开始位置和结束位置。

在每次匹配成功后,我们调用matcher.end()方法获取当前匹配子串的结束位置,并将结果打印出来。运行该代码,输出如下:

Found 'hello' at position 0-5
Found 'world' at position 6-11

这里可以看到,end()方法返回的是匹配子串的结束位置。注意,这个位置是下一个字符的位置,而不是当前匹配字符所在的位置。因此,我们可以使用 substring(start, end)来获取匹配子串的值。

总结

end()方法主要用于获取匹配子串的结束位置。在使用时需要注意返回的是下一个字符的位置,而不是当前匹配字符所在的位置。在处理匹配子串时,可以使用 substring(start, end)方法来获取子串的值。