Java Regex 2 - Duplicate Words

  • + 0 comments

    import java.util.Scanner; import java.util.regex.Pattern;

    public class DuplicateWords {

    public static void main(String[] args) {
        final String regex = "\\b(\\w+)(\\s+\\1\\b)+";
        final Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
    
        final Scanner in = new Scanner(System.in);
        int numSentences = Integer.parseInt(in.nextLine());
    
        while (numSentences-- > 0) {
            String input = in.nextLine();
            // Replace all duplicates with first occurrence
            input = p.matcher(input).replaceAll("$1");
            System.out.println(input);
        }
    

    This is the code I am getting the o/p same as shown but still getting the wrong answer.

        in.close();
    }
    

    }