Clases de caracteres

Domina las clases de caracteres: crea conjuntos de caracteres permitidos, cubre rangos enteros, dale la vuelta a un conjunto con la negación y apóyate en las abreviaturas que conviene saberse de memoria.

Lee las reglas: Clases de caracteres en la Guía →Entrénalo: Castillos de caracteres →

Qué aprenderás

Conjuntos de caracteres Rangos Negación Abreviaturas Rangos hexadecimales

Pasos · 13

  1. 01Una posición, muchas opcionesInstrucciones
  2. 02Conjuntos de caracteresCaza
  3. 03Rangos: a-zCaza
  4. 04Rangos: 0-9Caza
  5. 05Conjuntos negadosCaza
  6. 06Abreviatura: \dCaza
  7. 07El trío de abreviaturasEjemplo
  8. 08Abreviaturas negadasCaza
  9. 09Los metacaracteres se vuelven literalesCaza
  10. 10Rangos combinadosCaza
  11. 11Rango de mayúsculasCaza
  12. 12Golf: el patrón más cortoCaza
  13. 13Posiciones bajo controlInstrucciones

Clases de caracteres, rangos y abreviaturas en regex

Una clase de caracteres permite que una posición del patrón acepte varias opciones. Escribe las opciones entre corchetes y la clase coincide con una cualquiera de ellas, pero solo con una. gr[ae]y acepta las dos grafías inglesas de “gris”, porque la posición que sigue a gr puede ser una a o una e. Con las clases dices “aquí una vocal” o “ahí algún dígito” sin escribir todas las palabras posibles.

Las clases ganan utilidad con los rangos y la negación. Un guion entre dos caracteres cubre todo lo que hay entre ellos, así que [1-5] es cualquier dígito del uno al cinco y [A-Za-z] es cualquier letra básica, sin tildes ni eñes. Un acento circunflejo justo después del corchete de apertura invierte el conjunto: [^,] es cualquier carácter excepto una coma. Lleve lo que lleve dentro, una clase siempre ocupa exactamente un carácter.

Algunos conjuntos aparecen tan a menudo que las regex les dan abreviaturas. \d es un dígito, \w es un carácter de palabra (letra, dígito o guion bajo) y \s es un espacio en blanco. Sus versiones en mayúscula, \D, \W y \S, significan lo contrario. Recurre a una clase siempre que una caza diga “cualquiera de estos” o “cualquiera menos estos” para una sola posición.

Ejemplos

  1. /gr[ae]y/

    Atrapa

    • gray
    • grey
    • greyhound

    Deja libre

    • groan
    • grid

    La clase ofrece dos opciones para la tercera letra y nada más.

  2. /[1-5]star/

    Atrapa

    • 1star
    • 5stars
    • my3star

    Deja libre

    • 6star
    • 0star
    • star

    Un rango cubre en una sola posición todos los dígitos del 1 al 5.

  3. /z[^z]/

    Atrapa

    • zap
    • lazy
    • ozone

    Deja libre

    • buzz
    • fizz
    • quiz

    Una clase negada sigue necesitando un carácter, así que una z justo al final no coincide, y tampoco una z seguida de otra z.

  4. /\d\s\d/

    Atrapa

    • 1 2
    • room 4 5

    Deja libre

    • 12
    • 1-2

    Las abreviaturas se combinan como letras: un dígito, un espacio y otro dígito.

Errores frecuentes

  • Leer una clase como si fuera una palabra. [cat] coincide con una c, una a o una t, no con la palabra cat, así que también atrapa tea y act.
  • Escribir rangos que cruzan de mayúsculas a minúsculas. [a-Z] da error en JavaScript, y [A-z] deja pasar sin avisar símbolos como [, ^ y _; usa [A-Za-z].
  • Esperar que \w incluya letras con tilde. En JavaScript solo abarca letras ASCII, dígitos y guion bajo, así que la é de café cuenta como un carácter que no es de palabra.

Lee las reglas: Clases de caracteres en la Guía →Entrénalo: Castillos de caracteres →

Lee más: Clases de caracteres en regex: \d, \w, \s, [a-z] y sus trampas →