Java Regex 2 - Duplicate Words

  • + 0 comments

    code give right output but still wrong why???

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

    public class DuplicateWords {

    public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int numSentences = Integer.parseInt(in.nextLine());
    
    while (numSentences-- > 0) {
        String input = in.nextLine();
        String regex = "\\b(\\w+)(\\s+\\1\\b)+";
    
        Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
    
        Matcher m = p.matcher(input);
        String output = m.replaceAll("$1");
    
        System.out.println(output);
    }
    
    in.close();
    

    } }