📜  Java中的 Matcher end(int) 方法和示例(1)

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

Java中的 Matcher end(int) 方法和示例

Java中的Matcher类是一个正则表达式的匹配器,用来在文本中进行查找匹配的字符序列。它提供了多个有用的方法来支持正则表达式的匹配和查找。其中一个非常有用的方法是end(int)方法,它返回匹配的字符序列的末尾位置。

方法说明

Matcher.end(int)方法用于返回当前匹配的子串在目标序列中的结束位置。参数int代表匹配的组号,如果整个表达式没有分组,则组号为0。如果匹配器当前的匹配没有成功,返回-1.

public int end(int group)
示例代码

下面是一个示例程序,演示Matcher.end(int)方法的使用:

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

public class MatcherEndExample {
    public static void main(String[] args) {
        String text = "Hello world! This is Java!";
        String regex = "Java";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(text);

        if (matcher.find()) {
            int start = matcher.start();
            int end = matcher.end();
            System.out.println("Found match \"" + matcher.group() + "\" starting at index " + start + " and ending at index " + end);
        } else {
            System.out.println("Match not found.");
        }
    }
}

程序的输出结果如下:

Found match "Java" starting at index 17 and ending at index 21

在上面的示例中,我们使用了Matcher.end()方法来获取匹配的子串的结束位置。在这个例子中,我们查找字符串“Java”的位置,并输出其在原始字符串中的起始和结束位置。

注意,在使用Matcher.end()方法时,我们没有传递任何参数,因为我们只有一个匹配组。如果正则表达式中包含多个组,则我们可以通过参数指定要检索的组的编号。

总结

Matcher.end(int)方法非常有用,它可以用来返回匹配的字符序列的末尾位置。这个方法可以与其他Matcher类中的方法一起使用,例如start()方法,用来确定匹配的子串的起始和结束位置。