solo regulares regular probar palabra numeros letras extraer expresiones expresion exacta espacio ejemplos con cadenas blanco alfanumerico java regex

probar - extraer cadenas con expresiones regulares java



Regex para unir palabras de una cierta duraciĆ³n (3)

Me gustaría saber la expresión regular para hacer coincidir las palabras de manera que las palabras tengan una longitud máxima. por ejemplo, si una palabra tiene un máximo de 10 caracteres de longitud, me gustaría que la expresión regular coincida, pero si la longitud excede de 10, entonces la expresión regular no debería coincidir.

Lo intenté

^(/w{10})$

pero eso me trae coincidencias solo si la longitud mínima de la palabra es de 10 caracteres. Si la palabra tiene más de 10 caracteres, aún coincide, pero solo coincide con los primeros 10 caracteres.


Creo que quieres /w{1,10}/b . El /b coincide con un límite de palabra.

Por supuesto, también puede reemplazar el /b y hacer ^/w{1,10}$ . Esto coincidirá con una palabra de como máximo 10 caracteres siempre que sea el único contenido de la cadena. Creo que esto es lo que estabas haciendo antes.

Como es Java, tendrás que escapar de las barras invertidas: "//w{1,10}//b" . Probablemente ya lo sabía, pero ya me entendí.


Longitud de los caracteres que se emparejarán.

{n,m} n <= length <= m {n} length == n {n,} length >= n

Y de forma predeterminada, el motor es codicioso para que coincida con este patrón. Por ejemplo, si la entrada es 123456789, / d {2,5} coincidirá con 12345, que tiene una longitud de 5.

Si desea que el motor regrese cuando la longitud de 2 coincide, use / d {2,5}?


^/w{0,10}$ # allows words of up to 10 characters. ^/w{5,}$ # allows words of more than 4 characters. ^/w{5,10}$ # allows words of between 5 and 10 characters.