// // This software is now distributed according to // the Lesser Gnu Public License. Please see // http://www.gnu.org/copyleft/lesser.txt for // the details. // -- Happy Computing! // package com.stevesoft.pat; /** * This method implements the pattern elements $1, $2, etc in a substitution * rule. The apply(StringBufferLike sb,RegRes rr) method of this ReplaceRule * simply appends the contents of rr.stringMatched(n), where n is the integer * supplied to the constructor. */ public class BackRefRule extends ReplaceRule { int n; public BackRefRule(int n) { this.n = n; } public void apply(StringBufferLike sb, RegRes res) { String x = res.stringMatched(n); sb.appendStr(x == null ? "" : x); } public String toString1() { return "$" + n; } public Object clone1() { return new BackRefRule(n); } }