E aí pessoal, blz ?
Eu implementei a interface FilenameFilter para poder usar com a classe File para poder filtrar somente os arquivos com um determinado padrão no nome.
public boolean accept(File dir, String name) {
return name.startsWith("th*");
}
O problema é q quando uso o caracter curinga ( * ) o filtro não funciona. E este caracter deve existir. Este é um exemplo pq o padrão é passado como parâmetro e pode vir assim: th?tes* ou tes* ou th???
Já ouvi algo sobre regex, mas não consegui implementar neste contexto.
Podem me ajudar ?
Grande abraço. 
Os caracteres de expressões regulares são diferentes dos wildcards para arquivos.
Grosseiramente, “.” seria equivalente a “\.” em expressões regulares, “" seria equivalente a ".” em expressões regulares, e “?” seria equivalente a “.?” em expressões regulares.
Por exemplo, “*.java” seria algo como
return name.matches (".*\.java");
(Seria, porque no Windows você pode ter um arquivo com nome “A.JAVA” que não bate com essa expressão. Eu acho (mas não tenho certeza) que seria algo como:
return name.matches ("(?i).*\.java");
Valeu thingol.
Eu criei uma rotina pra substituir os wildchars pelos seus correspondentes nas expressões regulares.
T+