FileDocCategorySizeDatePackage
BackSlashes.javaAPI DocExample1080Wed Apr 10 11:41:26 BST 2002com.ronsoft.books.nio.regex

BackSlashes.java

package com.ronsoft.books.nio.regex;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

/**
 * Demonstrate behavior of backslashes in regex patterns.
 *
 * Created: April, 2002
 * @author Ron Hitchens (ron@ronsoft.com)
 * @version $Id: BackSlashes.java,v 1.1 2002/04/10 18:41:27 ron Exp $
 */
public class BackSlashes
{
	public static void main (String [] argv)
	{
		// substitute "a\b" for XYZ or ABC in input
		String rep = "a\\\\b";
		String input = "> XYZ <=> ABC <";
		Pattern pattern = Pattern.compile ("ABC|XYZ");
		Matcher matcher = pattern.matcher (input);

		System.out.println (matcher.replaceFirst (rep));
		System.out.println (matcher.replaceAll (rep));

		// change all newlines in input to escaped, DOS-like CR/LF
		rep = "\\\\r\\\\n";
		input = "line 1\nline 2\nline 3\n";
		pattern = Pattern.compile ("\\n");
		matcher = pattern.matcher (input);

		System.out.println ("");
		System.out.println ("Before:");
		System.out.println (input);

		System.out.println ("After (dos-ified, escaped):");
		System.out.println (matcher.replaceAll (rep));
	}
}