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()
方法查找符合正则表达式模式的子字符串,如果找到了,就输出子字符串在原字符串中的起始索引。