http://docs.oracle.com/javase/tutorial/essential/regex/test_harness.html
原来是 Console 的,因为公司环境是 1.5,改成 Scanner 的。
原来是 Console 的,因为公司环境是 1.5,改成 Scanner 的。
package com;
/**
* http://docs.oracle.com/javase/tutorial/essential/regex/examples/RegexTestHarness.java
*/
/*
* Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* - Neither the name of Oracle or the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
//import java.io.Console;
import java.io.InputStream;
import java.util.Scanner;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RegexTestHarness {
public static void main(String[] args){
//System.ge
//java.io.c
//java.io.
InputStream in = System.in;
Scanner scanner = new Scanner(System.in);
//Console console = System.console();
// if (console == null) {
// System.err.println("No console.");
// System.exit(1);
// }
while (true) {
System.out.println("Enter your regex: ");
String regex = scanner.nextLine();
Pattern pattern = Pattern.compile(regex);
System.out.println("Enter input string to search:");
String strSearch = scanner.nextLine();
Matcher matcher = pattern.matcher(strSearch);
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.start() +
" and ending at index " + matcher.end() + ".");
found = true;
}
if(!found){
System.out.println("No match found.");
//console.format("No match found.%n");
}
}
}
}