下面是一个使用Matcher.matches()
方法来找到字符串的最后一个出现的示例代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class LastOccurrenceExample {
public static void main(String[] args) {
String text = "Hello Java! This is a Java example.";
String patternString = "Java";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(text);
int lastOccurrenceIndex = -1;
while (matcher.find()) {
lastOccurrenceIndex = matcher.start();
}
if (lastOccurrenceIndex != -1) {
System.out.println("Last occurrence of \"" + patternString + "\" is at index " + lastOccurrenceIndex);
} else {
System.out.println("No occurrence of \"" + patternString + "\" found in the text.");
}
}
}
在上面的代码中,我们首先定义了一个字符串text
,其中包含了一些Java字符串的例子。然后,我们定义了要搜索的模式字符串patternString
,这里是"Java"。接下来,我们使用Pattern.compile()
方法将模式字符串编译成一个正则表达式模式,并创建一个Matcher
对象来匹配输入字符串text
。
然后,我们使用while
循环和Matcher.find()
方法来找到字符串中所有匹配模式的位置。在每次找到匹配时,我们将matcher.start()
的返回值赋给lastOccurrenceIndex
变量,这样最后一次找到的位置就会被保存下来。
最后,我们检查lastOccurrenceIndex
的值,如果不等于-1,则打印出最后一次出现的位置;否则,打印出没有找到模式的消息。