1, Test Harness

http://docs.oracle.com/javase/tutorial/essential/regex/test_harness.html
这里的问题就是Eclipse不支持Console.
也就是
Console console = System.console();
System.out.println(console);

这里的结果为null.


https://bugs.eclipse.org/bugs/show_bug.cgi?id=122429
http://stackoverflow.com/questions/104254/java-io-console-support-in-eclipse-ide#105403
在Eclpise中无法获取Console对象。
所以只能在CMD中使用。




在Eclipse里面只能这样用
package com.lj.duitang;

import java.io.BufferedReader;
import java.io.Console;
import java.io.IOException;
import java.io.InputStreamReader;
 
import java.util.regex.Matcher;
import java.util.regex.Pattern;

 

public class RegexTestHarness 
{	
	   private static String readLine(String prompt) {
	        String line = null;
	        Console c = System.console();
	        if (c != null) {
	             line = c.readLine(prompt);
	        } else {
	            System.out.print(prompt);
	            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
	            try {
	                 line = bufferedReader.readLine();
	            } catch (IOException e) { 
	                //Ignore    
	            }
	        }
	        System.out.println("line= "+line.length());
	        return line;
	    }
	
	
	public static void main(String[] args)
	{	
	     
		Console console = System.console();
		System.out.println(console);
//		if(console == null){
//			System.err.println("No console.");
//			System.exit(1);
//		}
		
		while(true){
			Pattern pattern =Pattern.compile(readLine("%nEnter your regex: "));
			Matcher matcher = pattern.matcher(readLine("Enter input string to search:"));
			
			boolean found=false;
			while(matcher.find()){
//				 console.format("I found the text"+
//								"\"%s\" starting at "+
//								"index %d and ending at index %d.%n",
//								matcher.group(),matcher.start(),matcher.end()
//						);
				
				System.out.println("I found the text \""+matcher.group()+"\" starting at index "+matcher.group()+"starting at "+matcher.start()+
						" and ending at index "+matcher.end());
				
				found=true;
			}
			
			if(!found){
				//console.format("No match found.%n");
				System.out.println("No match found.%n");
			}
			
		}
		
		 
	}
}
			 

你可能感兴趣的:(testharness)