有没有办法在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());
此代码段打印出来:
你好世界
这个是
我想要做的是将这些单词打印成对:
你好世界世界这个 是例子
我该怎么做?
答案 0 :(得分:12)
您可以简单地将捕获括号放在先行表达式中:
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));