2010-09-20 15 views

Odpowiedz

8

Zmiana regex do abc(.*)def(.*)pqr(.*)xyz i nawiasy zostaną automatycznie zobowiązany do

widoczny dokumentacja urządzenia Pattern class, w szczególności Groups and Capturing, aby uzyskać więcej informacji.

Przykładowy kod:

final String needle = "abc(.*)def(.*)pqr(.*)xyz"; 
final String hayStack = "abcXdefYpqrZxyz"; 

// Use $ variables in String.replaceAll() 
System.out.println(hayStack.replaceAll(needle, "_$1_$2_$3_")); 
// Output: _X_Y_Z_ 


// Use Matcher groups: 
final Matcher matcher = Pattern.compile(needle).matcher(hayStack); 
while(matcher.find()){ 
    System.out.println(
     "A: " + matcher.group(1) + 
     ", B: " + matcher.group(2) + 
     ", C: " + matcher.group(3) 
    ); 
} 
// Output: A: X, B: Y, C: Z 
1

Oto regex, że może robić to, co trzeba.

abc(\\d*)def(\\d*)pqr(\\d*)xyz 

Ale powinniśmy mieć więcej przykładów ciągów wejściowych i co powinno być dopasowane.