📅  最后修改于: 2023-12-03 15:31:54.002000             🧑  作者: Mango
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()方法,用来确定匹配的子串的起始和结束位置。