is there a way to print out lookahead portion of a regex pattern in java?
    String test = "hello world this is example";
    Pattern p = Pattern.compile("\\w+\\s(?=\\w+)");
    Matcher m = p.matcher(test);
    while(m.find())
        System.out.println(m.group());
this snippet prints out :
hello
world
this
is
what I want to do is printing the words as pairs :
hello world
world this
this is
is example
how can I do that?
You can simply put capturing parentheses inside the lookahead expression:
String test = "hello world this is example";
Pattern p = Pattern.compile("\\w+\\s(?=(\\w+))");
Matcher m = p.matcher(test);
while(m.find()) 
    System.out.println(m.group() + m.group(1));
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With