2011-03-16 30 views
19

¿Qué es una expresión regular que coincidirá con una cadena que solo contiene los dígitos del 0 al 9, una coma y un punto y coma? Estoy buscando usarlo en Java como lo siguiente:Dígitos de concordancia regex, coma y punto y coma?

word.matches("^[1-9,;]$") //Or something like that... 

Soy nuevo en las expresiones regulares.

+0

Bueno, estás cerca - ¿qué piensa '1-9' hace ? –

+0

'1-9' probablemente no coincidirá de 0 a 9, así como' 0-9', aparte de eso ... –

+0

Woah, gracias a todos. Debe haber sido demasiado fácil. –

Respuesta

42

Casi lo tiene, acaba de dejar 0 y olvidó el cuantificador.

word.matches("^[0-9,;]+$") 
+10

Bah, 17 segundos: D – Shaded

4

Trate word.matches("^[0-9,;]+$");

0
boolean foundMatch = Pattern.matches("[0-9,;]+", "131;23,87"); 
+0

La cadena tiene coincidencias() también ... "131; 23,87" .matches ("[0-9,;] +") funciona bien ... – Jean

2

word.matches("^[0-9,;]+$"); eras casi allí

20

Usted es el 90% del camino.

^[0-9,;]+$

A partir de la quilates ^ indica un principio de la línea.

El [ indica un conjunto de caracteres

El 0-9 indica caracteres del 0 al 9, la coma indica , coma y el punto y coma indica una ;.

El ] de cierre indica el final del juego de caracteres.

El signo más + indica que uno o más del "elemento anterior" debe estar presente. En este caso, significa que debe tener uno o más de los caracteres en el conjunto de caracteres previamente declarado.

El dólar $ indica el final de la línea.

+0

Creo^$ puede también significa el comienzo y el final de cualquier entrada (puede ser un archivo de texto completo como una cadena larga), no necesariamente de una línea. Pero esta característica depende de la implementación de Expresión regular. –

+0

Si alguien decidió hacer un lenguaje de expresión regular donde '^ $' significa cualquier entrada, entonces ¿por qué molestarse con el punto '.' y estrellas '*' operadores? No estoy dudando de que alguien pueda hacerlo, pero básicamente significa que no puedes unir líneas vacías (lo cual es tonto). –

+0

[ver esta página] (http://www.regular-expressions.info/anchors.html) "Por lo tanto, todos los motores de expresiones regulares analizados en este tutorial tienen la opción de ampliar el significado de ambos anclajes."^coincide con el comienzo de una cadena y $ coincide con el final de una cadena. Por lo tanto, es una opción para hacer que coincidan con el principio y el final de una línea, pero esta opción no es una recomendación. –

Cuestiones relacionadas