Start of Tutorial > Start of Trail > Start of Lesson |
Search
Feedback Form |
This section defines a reusable test harness to explore the regular expression constructs that theregex
API supports. You can run this code with the commandjava RegexTestHarness
. No command-line arguments are accepted. At runtime, it loads the regular expression and input data from a plain text file,regex.txt
, which resides in the same directory. This file contains a simple format: the regular expression appears on the first line, and the input string appears on the second line. To update the test, simply edit those two lines, save the file, and run the test again. There is no need to recompile any code.
Note: You can download the test harness code,RegexTestHarness.java
.The output provides some useful information including the regular expression, the input string, the matched text (if found), and the start and end indices of where the match has occurred. Here's the code:
Before continuing with the next section, save and compile this code to ensure that your development environment supports theimport java.io.*; import java.util.regex.*; public final class RegexTestHarness { private static String REGEX; private static String INPUT; private static BufferedReader br; private static Pattern pattern; private static Matcher matcher; private static boolean found; public static void main(String[] argv) { initResources(); processTest(); closeResources(); } private static void initResources() { try { br = new BufferedReader(new FileReader("regex.txt")); } catch (FileNotFoundException fnfe) { System.out.println("Cannot locate input file! "+fnfe.getMessage()); System.exit(0); } try { REGEX = br.readLine(); INPUT = br.readLine(); } catch (IOException ioe) {} pattern = Pattern.compile(REGEX); matcher = pattern.matcher(INPUT); System.out.println("Current REGEX is: "+REGEX); System.out.println("Current INPUT is: "+INPUT); } private static void processTest() { while(matcher.find()) { System.out.println("I found the text \"" + matcher.group() + "\" starting at index " + matcher.start() + " and ending at index " + matcher.end() + "."); found = true; } if(!found){ System.out.println("No match found."); } } private static void closeResources() { try{ br.close(); }catch(IOException ioe){} } }java.util.regex
package.
Start of Tutorial > Start of Trail > Start of Lesson |
Search
Feedback Form |
Copyright 1995-2004 Sun Microsystems, Inc. All rights reserved.