Με τις μεθόδους start(int group) και end(int group)
ενός αντικειμένου τύπου Matcher μπορούμε να έχουμε πρόσβαση
σε τμήματα της κανονικής έκφρασης
Τα τμήματα της κανονικής έκφρασης σε παρενθέσεις ορίζουν ξεχωριστές ομάδες
Οι ομάδες αριθμούνται από το 1 (η ομάδα 0 είναι όλη η συμβολοσειρά που έχει ταιριάξει)
Όταν τα τμήματα μιας συμβολοσειράς χωρίζονται από ίδια στοιχεία διαχωρισμού
(π.χ. :, κενό, tab) τότε μπορούμε να τα διαχωρίσουμε με τη μέθοδο της κλάσης
Pattern
public String[] split(CharSequence input)
Παράδειγμα: επεξεργασία αρχείων πρόσβαση σε ιστοσελίδες
/*
* Collect and print Web statistics
* D. Spinellis, January 2004
*/
/**
* Increment the integer value of map's member by 1
* The member is obtained by using the matcher to extract
* the specified group from the string s
*/ staticvoid increment(Map map, String s, Matcher m, int group) {
String member = s.substring(m.start(group), m.end(group));
Integer i = (Integer)map.get(member); if (i == null)
i = new Integer(1); else
i = new Integer(i.intValue() + 1);
map.put(member, i);
}
/** List the contents of the given map */ staticvoid list(String title, Map map) {
System.out.println("\n" + title);
Set s = map.entrySet();
Iterator i; for (i = s.iterator(); i.hasNext(); ) {
Map.Entry e = (Map.Entry)i.next();
System.out.println(e.getValue() + " " + e.getKey());
}
}
Τελευταία αλλαγή: Δευτέρα, 26 Ιανουαρίου 2004 10:12 μμ
Εκτός αν αναφέρεται κάτι διαφορετικό, όλο το πρωτότυπο υλικό της σελίδας αυτής
του οποίου δημιουργός είναι ο Διομήδης Σπινέλλης παρέχεται σύμφωνα με τους
όρους της άδειας
«Creative Commons Attribution-Share Alike 3.0 Greece License».