正则表达式测试工具。

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值