Abaixo tenho um código q faz casamento de padões. Só não estou conseguindo implementar uma possível solucão para utilizar um “ignoreCase” para as comparações. Alguem pode me dar uma ajuda?
Classe CasamentoDePadroes
import java.util.*;
class CasamentoDePadroes
{
private String padrão;
CasamentoDePadroes(String padrão)
{this.padrão = padrão; }
public boolean casa(String aComparar){
boolean todosCasam=true;
String esteToken,esteTokenDoGrupo;
StringTokenizer oPadrão=new StringTokenizer(padrão,"{}");
while(oPadrão.hasMoreTokens())
{
esteToken=oPadrão.nextToken();
if (esteToken.indexOf('|') == -1) {
if (aComparar.startsWith(esteToken)) {
aComparar=aComparar.substring(esteToken.length()); }
else todosCasam=false; }
else{
StringTokenizer grupo =new StringTokenizer(esteToken,"|");
boolean nenhumCasa=true;
while(grupo.hasMoreTokens()){
esteTokenDoGrupo= grupo.nextToken();
if (aComparar.startsWith(esteTokenDoGrupo)){
aComparar=aComparar.substring(esteTokenDoGrupo.length());
nenhumCasa=false;
break; }
}
if (nenhumCasa)todosCasam=false;
}
} // fim dowhile para todos os tokens cujos separadores foram ?{? e ?}?
if (aComparar.length() > 0 )todosCasam=false;
return todosCasam;
} // fim do método casa
public String toString(){return padrão;}
}
Classe TesteAplicação
public class TesteAplicacao {
public TesteAplicacao() {
String padrao = "{10|9|8|7|6|5|4|3|2|1} de {Janeiro|Fevereiro} de 200{3|4}";
CasamentoDePadroes casaPadrao = new CasamentoDePadroes(padrao);
String teste01 = "4 de Janeiro de 2004";
String teste02 = "-1 de Outubro de 2000";
String teste03 = "10 de Fevereiro de 2003";
System.out.println(padrao);
System.out.println("1:"+casaPadrao.casa(teste01));
System.out.println("2:"+casaPadrao.casa(teste02));
System.out.println("3:"+casaPadrao.casa(teste03));
}
public static void main(String[] args) {
new TesteAplicacao();
}
}
No caso, se eu digitasse ‘janeiro’ (em minusculo) ele considerasse como TRUE. Já tentei diversas formas e nada 
[]´s