Copyright 1995-2007 Sun Microsystems, Inc. All rights reserved. Modified by N.M. Maclaren for Java 1.5 from: http://java.sun.com/docs/books/tutorial/essential/regex/test_harness.html import java.io.InputStreamReader; import java.io.BufferedReader; import java.util.regex.Pattern; import java.util.regex.Matcher; import java.lang.management.ThreadMXBean; import java.lang.management.ManagementFactory; public class timer { public static void main(String[] args){ try { ThreadMXBean mxbean = ManagementFactory.getThreadMXBean(); BufferedReader inputreader = new BufferedReader(new InputStreamReader(System.in)); while (true) { System.out.format("%nEnter the repeat count: "); String string = inputreader.readLine(); long repeat = (Long.valueOf(string)).longValue(); System.out.format("%nEnter your regex: "); Pattern pattern = Pattern.compile(inputreader.readLine()); System.out.format("Enter input string: "); Matcher matcher = pattern.matcher(inputreader.readLine()); boolean found = false; double time = mxbean.getCurrentThreadCpuTime(); for (int i = 0; i < repeat; i++) found = matcher.find(0); time = 1.0e-6*(mxbean.getCurrentThreadCpuTime()-time)*1.0/repeat; if (found) System.out.println("Match found."); else System.out.println("No match found."); System.out.format("Time %.3f mS%n", time); } } catch (Exception e) { System.err.println("Quitting."); } } }