Χρήση κανονικών εκφράσεων
-  Στη Java οι κανονικές εκφράσεις μπορούν να οριστούν
με τη βοήθεια της κλάσης Pattern.
-  Η μέθοδος Pattern.compile(String re) επιστρέφει ένα αντικείμενο
τύπου Pattern που είναι η κανονική έκφραση re μεταγλωττισμένη.
-  Η μέθοδος matcher(String s) του παραπάνω αντικειμένου επιστρέφει
ένα αντικείμενο m τύπου Matcher το οποίο μπορεί να ταιριάξει τη συμβολοσειρά
re με το αντικείμενο s.
-  Στο αντικείμενο m:
-  η μέθοδος m.find() προσπαθεί να ταιριάξει την κανονική έκφραση σε οποιαδήποτε θέση
-  η μέθοδος m.matches() προσπαθεί να ταιριάξει την κανονική έκφραση από
την αρχή μέχρι το τέλος της συμβολοσειράς 
 Και οι δύο μέθοδοι επιστρέφουν true αν η συμβολοσειρά ταιρίαζει με την
κανονική έκφραση.
-  Η μέθοδοι m.start() και m.end() επιστρέφουν τις θέσεις της
συμβολοσειράς που ταίριαξε με την κανονική έκφραση.
Παράδειγμα: Εύρεση κανονικών εκφράσεων σε αρχείο
/*
 * Globally match regular expression and print
 * Modelled after the Unix command with the same name
 * D. Spinellis, January 2004
 */
import java.util.regex.*;
import java.io.*;
class Grep {
        public static void main(String args[]) {
                if (args.length != 2) {
                        System.err.println("Usage: Grep pattern file");
                        System.exit(1);
                }
                Pattern cre = null;             // Compiled RE
                try {
                        cre = Pattern.compile(args[0]);
                } catch (PatternSyntaxException e) {
                        System.err.println("Invalid RE syntax: " + e.getDescription());
                        System.exit(1);
                }
                BufferedReader in = null;
                try {
                        in = new BufferedReader(new InputStreamReader(new FileInputStream(args[1])));
                } catch (FileNotFoundException e) {
                        System.err.println("Unable to open file " + args[1] + ": " + e.getMessage());
                        System.exit(1);
                }
                try {
                        String s;
                        while ((s = in.readLine()) != null) {
                                Matcher m = cre.matcher(s);
                                if (m.find())
                                        System.out.println(s);
                        }
                } catch (Exception e) {
                        System.err.println("Error reading line: " + e.getMessage());
                        System.exit(1);
                }
        }
}
Παράδειγμα:
java Grep "abo" /usr/dict/words
...
sabotage
seaboard
taboo
thereabouts
turnabout
vagabond
whereabout
...
java Grep "^abo" /usr/dict/words
aboard
abode
abolish
abolition
abominable
abominate
aboriginal
java Grep bent /usr/dict/words
absorbent
bent
benthic
debenture
incumbent
recumbent
java Grep "bent$" /usr/dict/words
absorbent
bent
incumbent
recumbent
java Grep "[^AEIOUYaeiouy]{5,}" /usr/dict/words
angstrom
Armstrong
birthplace
bremsstrahlung
corkscrew
Dijkstra
downstream
hardscrabble
jockstrap
Knightsbridge
lengthly
Nietzsche
nightclub
offspring
postscript
Rothschild
...
java Grep "(.)(.)(.)\3\2\1" /usr/dict/words
braggart
Brenner
collocation
diffident
dissident
glossolalia
grammar
grammarian
installation
staccato
suffuse