Java Regex 2 - Duplicate Words

Sort by

recency

|

405 Discussions

|

  • + 0 comments

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

    public class DuplicateWords {

    public static void main(String[] args) {
    
        // 1. RegEx to match repeated words: 
        // \b(\w+) matches a word, (?:\s+\1\b)+ matches one or more repetitions
        String regex = "\\b(\\w+)(?:\\s+\\1\\b)+";
    
        // 2. Complete the compile argument with the case-insensitive flag
        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()) {
                // 3. Use m.group() to find the full duplicate chain 
                // and replace it with the first captured group: m.group(1)
                input = input.replaceAll(m.group(), m.group(1));
            }
    
            // Prints the modified sentence.
            System.out.println(input);
        }
    
        in.close();
    }
    

    }

  • + 0 comments

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

    public class DuplicateWords {

    public static void main(String[] args) {
    
        String regex = "/* Write a RegEx matching repeated words here. */";
        Pattern p = Pattern.compile(regex, /* Insert the correct Pattern flag here.*/);
    
        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()) {
                input = input.replaceAll(/* The regex to replace */, /* The replacement. */);
            }
    
            // Prints the modified sentence.
            System.out.println(input);
        }
    
        in.close();
    }
    

    }

  • + 0 comments

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

    public class DuplicateWords {

    public static void main(String[] args) {
    
        String regex = "/* Write a RegEx matching repeated words here. */";
        Pattern p = Pattern.compile(regex, /* Insert the correct Pattern flag here.*/);
    
        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()) {
                input = input.replaceAll(/* The regex to replace */, /* The replacement. */);
            }
    
            // Prints the modified sentence.
            System.out.println(input);
        }
    
        in.close();
    }
    

    }

  • + 0 comments

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

    public class DuplicateWords {

    public static void main(String[] args) {
    
        String regex = "\\b(\\w+)(\\s+\\1\\b)+";
        Pattern p = Pattern.compile(regex, /* Insert the correct Pattern flag here.*/);
    
        Scanner in = new Scanner(System.in);
        int numSentences = Integer.parseInt(in.nextLine());
    
        while (numSentences-- > 0) {
            String input = in.nextLine();
    
            Matcher m = p.matcher(input);
    
            import java.util.Scanner;
    

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

    public class DuplicateWords {

    public static void main(String[] args) {
    
        String regex = "/* Write a RegEx matching repeated words here. */";
        Pattern p = Pattern.compile(regex, /* Insert the correct Pattern flag here.*/);
    
        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()) {
                input = input.replaceAll(/* The regex to replace */, /* The replacement. */);
            }
    
            // Prints the modified sentence.
            System.out.println(input);
        }
    
        in.close();
    }
    

    }

  • + 0 comments

    The Java 15 language box was broken completely for me. It wouldnt display the stub code and even Pattern.compile() would throw errors. moving the editor to Java 8, and resetting fixed it