Java Regex 2 - Duplicate Words

  • + 0 comments

    La salida de mi programa es igual a la esperada (verificadas con editores hex) pero el summit marca error.

    public static void main(String[] args) {
    
            String regex = "\\b(\\w+)\\s+\\1\\b";
            Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE );
    
            Scanner in = new Scanner(System.in);
            int numSentences = Integer.parseInt(in.nextLine());
            
            while (numSentences-- > 0) {
                String input = in.nextLine();
                
                Matcher m = p.matcher(input);
                
                // Check for subsequences of input that match the compiled pattern
                while (m.find()) {
                    String group = m.group();
                    String[] temp = group.split(" ");
                    input = input.replaceAll(group, temp[0]);
                    m = p.matcher(input);
                }
                
                // Prints the modified sentence.
                System.out.println(input);
            }
            
            in.close();
        }