Método String matches de Java

Hola a todos, hoy os explicare como usar el método matches de String.

El método matches de String nos permite comprobar si un String cumple una expresión regular pasado como parámetro. Si es cierta devuelve true, sino false.

Una expresión regular es una expresión textual que utiliza símbolos especiales para hacer búsquedas avanzadas.

Las expresiones pueden contener:

  • Caracteres.
  • Caracteres de control, por ejemplo, \s, \d, etc. Recuerda que añadir un \ mas al introducirlo en una cadena. Los mas usados son:
    • \d , dígito, es igual que [0-9]
    • \D , no dígito, es igual que [^0-9]
    • \s , carácter en blanco, es igual que [\t\n\x0B\f\r]
    • \S , no carácter en blanco, es igual que [^\s]
    • \w , carácter alfanumérico, es igual que [a-zA-Z_0-9]
    • \W , no carácter alfanumérico, es igual que [^\w]
  • Opciones de caracteres, se usa el corchete. Por ejemplo, [afgd] significa que puede contener a, f, g o d.
  • Negación de caracteres, funciona al revés que el anterior, se usa ^. Por ejemplo, [^afgd]
  • Rangos, se usa para que incluya un rango de caracteres. Por ejemplo, para que incluya los caracteres entre a y z [a-z]
  • Intersección: permite unir dos condiciones, es como el operador &&.
  • Cualquier carácter: se usa un punto.
  • Opcional: se usa el símbolo ?, indica que un carácter puede o no aparecer.
  • Repetición: se usa el símbolo *, indica que un conjunto de caracteres se pueden repetir o no.
  • Repetición obligada: se usa el símbolo +, es como el anterior pero debe aparecer mínimo una vez.
  • Repetición un número exacto de veces: después de una expresión abrimos llaves {} con un número dentro, indica el numero de veces que debe repetirse un carácter o expresión. Si después del numero escribimos una coma, indica que debe repetirse como mínimo el número que indiquemos y como máximo los que queramos. Si después de la coma escribimos un número, indica que debe repetirse entre los números que le indiquemos como si fuera un rango.

Veamos una serie de ejemplos:

El mejor ejemplo para este método es la evaluación de un e-mail, veamos como seria:

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

6 comentarios

  1. Wilfrido

    necesito hacer un programa que ingresando un nombre completo pero si ingresas un numero en el nombre por ejemplo «carlos 8a» te marque q ingrese datos invalidos y tambien para caracteres especiales
    que en el nombre, apellido paterno , apellido materno solo sean letras mayuzculas minusculas y nada de caracteres especiales ni numeros,
    porfa ayuda

  2. Disco Duro de Roer Post author

    Lo que pides es validar dato (supongo que de un formulario), puedes usar expresiones regulares (metodo matches de String) o recorrer la cadena con un bucle y que cuando haya un caracter que no quieras que este, pues darlo como invalido.

    Puedes mandarme un correo, en contactanos, si necesitas algo

    Un saludo.

  3. Disco Duro de Roer Post author

    Depende de que consideres una cadena, si solo caracteres o con algunos signos de puntuacion, etc.

  4. BRYAN ROBERTO ZHUNIO CAJAMARCA

    Cómo puedo permitir espacios en blanco, sin que al pulsar por primera vez Enter por teclado, cuente como espacio en blanco…?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Warning: Trying to access array offset on value of type null in /home2/discodur/public_html/discoduroderoer/wp-content/themes/disto/single.php on line 539