Java find value in a string using regex

Viewed 175

I'm wondering about the behavior of using the matcher in java.

I have a pattern which I compiled and when running through the results of the matcher i don't understand why a specific value is missing.

My code:

String str = "star wars";
Pattern p = Pattern.compile("star war|Star War|Starwars|star wars|star wars|pirates of the caribbean|long strage trip|drone|snatched (2017)");
Matcher matcher = p.matcher(str);
while (matcher.find()) {
        System.out.println("\nRegex : " matcher.group());
    }

I get hit with "star war" which is right as it is in my pattern.

But I don't get "star wars" as a hit and I don't understand why as it is part of my pattern.

3 Answers
Related