⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 poodle.java

📁 java nio 编程一个实例子.服务端程序
💻 JAVA
字号:
package com.ronsoft.books.nio.regex;import java.util.regex.Pattern;import java.util.List;import java.util.LinkedList;/** * Demonstrate behavior of splitting strings.  The XML output created * here can be styled into HTML or some other useful form. * See poodle.xsl. * * Created: April, 2002 * @author Ron Hitchens (ron@ronsoft.com) * @version $Id: Poodle.java,v 1.3 2002/05/01 03:47:07 ron Exp $ */public class Poodle{	/**	 * Generate a matrix table of how Pattern.split() behaves with	 * various regex patterns and limit values.	 */	public static void main (String [] argv)		throws Exception	{		String input = "poodle zoo";		Pattern space = Pattern.compile (" ");		Pattern d = Pattern.compile ("d");		Pattern o = Pattern.compile ("o");		Pattern [] patterns = { space, d, o };		int limits [] = { 1, 2, 5, -2, 0 };		// Use supplied args, if any.  Assume args are good.		// Usage: input pattern [pattern ...]		// Don't forget to quote the args.		if (argv.length != 0) {			input = argv [0];			patterns = collectPatterns (argv);		}		generateTable (input, patterns, limits);	}	/**	 * Output a simple XML document with the results of applying	 * the list of regex patterns to the input with each of the	 * limit values provided.  I should probably use the JAX APIs	 * to do this, but I want to keep the code simple.	 */	private static void generateTable (String input,		Pattern [] patterns, int [] limits)	{		System.out.println ("<?xml version='1.0'?>");		System.out.println ("<table>");		System.out.println ("\t<row>");		System.out.println ("\t\t<head>Input: "			+ input + "</head>");		for (int i = 0; i < patterns.length; i++) {			Pattern pattern = patterns [i];			System.out.println ("\t\t<head>Regex: <value>"				+ pattern.pattern() + "</value></head>");		}		System.out.println ("\t</row>");		for (int i = 0; i < limits.length; i++) {			int limit = limits [i];			System.out.println ("\t<row>");			System.out.println ("\t\t<entry>Limit: "				+ limit + "</entry>");			for (int j = 0; j < patterns.length; j++) {				Pattern pattern = patterns [j];				String [] tokens = pattern.split (input, limit);				System.out.print ("\t\t<entry>");				for (int k = 0; k < tokens.length; k++) {					System.out.print ("<value>"						+ tokens [k] + "</value>");				}				System.out.println ("</entry>");			}			System.out.println ("\t</row>");		}		System.out.println ("</table>");	}	/**	 * If command line args were given, compile all args after the	 * first as a Pattern.  Return an array of Pattern objects.	 */	private static Pattern [] collectPatterns (String [] argv)	{		List list = new LinkedList();		for (int i = 1; i < argv.length; i++) {			list.add (Pattern.compile (argv [i]));		}		Pattern [] patterns = new Pattern [list.size()];		list.toArray (patterns);		return (patterns);	}}

⌨️ 快捷键说明

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