2012-10-05 22 views
5

Quiero crear una expresión regular en Java utilizando librerías estándar que se acomoda a la siguiente frase:Expresión regular de una palabra determinada

12 of 128 

Obviamente, los números pueden ser cualquier cosa, aunque ... A partir de 1 dígito a muchos

Además, no estoy seguro de cómo acomodar la palabra "de", pero pensé que tal vez algo en la línea de:

[\d\sof\s\d] 

Respuesta

10

Esto debería funcionar para usted:

(\d+\s+of\s+\d+) 

Esto supondrá que desea capturar el bloque completo de texto como "un grupo", y no puede haber uno-o más caracteres de espacio en blanco entre cada (si sólo hay un espacio, puede cambiar \s+ a solo \s).

Si desea capturar los números por separado, puede intentar:

(\d+)\s+of\s+(\d+) 
3

Quiere esto:

\d+\sof\s\d+ 

El cambio relevante de lo que ya tenía es la adición de los dos más señales. Eso significa que debe coincidir con varios dígitos, pero al menos uno.

muestra: http://regexr.com?32cao

1

Esta expresión regular

"\\d+ of \\d+" 

coincidirá con al menos una de cualquier número de dígitos, seguido de cadena "de", seguido por uno a cualquier número de dígitos.

Cuestiones relacionadas