testregularexpression10.java

来自「JAVA编程思想第四版英文原版习题答案. pdf原版的」· Java 代码 · 共 42 行

JAVA
42
字号
// strings/TestRegularExpression10.java
// TIJ4 Chapter Strings, Exercise 10, page 533
/* For the phrase "Java now has regular expressions" evaluate whether the following
* expressions will find a match:
* 	^Java		
* 	\Berg.*
*	n.w\s+h(a|i)s
*	S?
*	S+
*	s{4}
*	s{1}.
* 	s{0,3}
*/ 
// Use args: "Java now has regular expressions", "^Java", "\Berg.*", "n.w\s+h(a|i)s",
//	"s?", "s+", "s{4}", "s{1}.", "s{0,3}"
import java.util.regex.*;
import static net.mindview.util.Print.*;

public class TestRegularExpression10 {
	public static void main(String[] args) {
		if(args.length < 2) {
			print("Usage:\njava TestRegularExpression " + 
				"characterSequence regularExpression+");
			System.exit(0);  
		}
		print("Input: \"" + args[0] + "\"");
		for(String arg : args) {
			print("Regular expression: \"" + arg + "\"");
			Pattern p = Pattern.compile(arg);
			Matcher m = p.matcher(args[0]);
			if(!m.find()) 
			  	print("No match found for " + "\"" + arg + "\"");
			m.reset();
			while(m.find()) {
				print("Match \"" + m.group() + "\" at position " +
					m.start() + ((m.end() - m.start() < 2) ? "" :  ("-" + (m.end() - 1))));
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?