2011-04-02 22 views
10

java'da normal ifadenin görünüm bölümünün çıktısını almanın bir yolu var mı?Java düzenli ifadesi ile göz gezdirme

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()); 

bu pasajı yazdırır:

merhaba
Dünya
bu
Ben çiftleri olarak kelimeleri yazdırıyor ne yapmak istediğinizi

geçerli:

merhaba dünyaBu
bu
olduğunuDünya bunu nasıl örnek

mı?

cevap

9

Sadece ileriye dönük ifadenin içinde parantez yakalayan koyabilirsiniz:

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)); 
İlgili konular