Java 使用正则表达式查找不带空格的字符串中是否存在一个子字符串

Java 使用正则表达式查找不带空格的字符串中是否存在一个子字符串,java,regex,Java,Regex,我想使用Java中的正则表达式检查字符串中是否存在多个子字符串之一 SomeString: randomtextrickmortysummergazorpazorp Output needed: true 我尝试使用下面的模式,但它返回false String patternString = "rick|morty"; String text = "randomtextrickmortysummergazorpazorp"; Pattern pattern = Pattern.compile

我想使用Java中的正则表达式检查字符串中是否存在多个子字符串之一

SomeString: randomtextrickmortysummergazorpazorp
Output needed: true
我尝试使用下面的模式,但它返回false

String patternString = "rick|morty";
String text = "randomtextrickmortysummergazorpazorp";

Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(text);

System.out.println("Matches :" + matcher.matches());

请帮忙。

这是因为如果整个字符串与您的模式匹配,
matches()
只返回
true
。改用
find()

尝试将整个区域与模式匹配

:

尝试查找与模式匹配的输入序列的下一个子序列


使用
.find()
而不是
.matches()
谢谢@Anubhava,这很有效。谢谢Christian,这很有效。你们节省了我在这个小细节上的时间。
System.out.println("Found :" + matcher.find());