读书人

正则表达式测试用具

发布时间: 2012-08-31 12:55:03 作者: rapoo

正则表达式测试工具。
http://docs.oracle.com/javase/tutorial/essential/regex/test_harness.html

原来是 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");            }        }    }}

读书人网 >编程

热点推荐