private String substitute(final Match match,
String replacement,
final String data)
{
Pattern pattern = Pattern.create("[$\\\\]([1-9][0-9]?|.)");
return pattern.replaceAll(replacement, new ReplaceOperation()
{
public String replace(Match m)
{
char p = m.getValue().charAt(0);
char c = m.getValue().charAt(1);