Java的indexOf
方法本身并不直接支持正则表达式。indexOf
是Java的String
类的一个方法,用于查找指定字符或子字符串在原字符串中首次出现的位置。如果要从字符串中查找符合正则表达式模式的子字符串,你需要使用java.util.regex
包中的Pattern
和Matcher
类。
下面是一个使用正则表达式查找子字符串的示例:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Main {
public static void main(String[] args) {
String input = "This is a test string with regex pattern.";
String regex = "regex";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
System.out.println("Substring found at index: " + matcher.start());
} else {
System.out.println("Substring not found.");
}
}
}
在这个示例中,我们使用了Pattern.compile()
方法编译正则表达式,然后使用pattern.matcher()
方法在输入字符串中创建一个Matcher
对象。接下来,我们使用matcher.find()
方法查找符合正则表达式模式的子字符串,如果找到了,就输出子字符串在原字符串中的起始索引。