Duda sobre expresiones regulares en Java

Oscar
30 de Septiembre del 2008
Hola a todos.

Mi duda es que tengo que pasar varias expresiones regulares para validarlas en java, y me he encontrado con una diferencia de sintaxis entre lo típico en expresiones regulares y en cómo se escriben en java.

Me explico: lo que yo quiero hacer es restar un carácter a un conjunto de caracteres. O sea, si por ejemplo quisiera que aparecieran todos los números menos el cinco, en una expresión regular eso sería:
([0-9]-5)
Pero si lo introduzco tal cual (o con variaciones) en java, me reconoce en todos los casos al signo menos como carácter guión, no como operador, con lo cual, con lo antes escrito me validaría una cadena como esta: "2-5".

Así que mi pregunta es ¿cómo puedo expresar esta diferencia en java? ¿con qué sintaxis puedo restar un carácter o conjunto de caracteres de otro conjunto de caracteres más o menos complejo?

Muchas gracias.

Oscar
30 de Septiembre del 2008
Venga, hombre, porfi, respondedme alguno que esto lo necesito saber con cierta urgencia :-S