Saltar al contenido principal
eLearner.app
Módulo 5 · Lección 3 de 419/32 en el curso~8 min
Lecciones del módulo (3/4)

Negación: `[^...]`

Coloque un símbolo de intercalación ^ como primer carácter dentro de los cuadrados. invierte la clase: coincide con cualquier carácter excepto los enumerados.

Code
Pattern: [^aeiou]
Sample:  ciao mondo
          ^   ^^  ^

[^aeiou] coincide con consonantes, espacios, puntuación, dígitos y todo lo que no es una vocal.

Ejemplos típicos

  • [^\s]: cualquier carácter "que no sea espacio" (equivalente a \S).
  • [^0-9]: cualquier cosa que no sea un dígito (equivalente a \D).
  • [^"]+ -- "una secuencia de caracteres que no son comillas dobles" (útil para extraer contenido entre comillas).
Code
Pattern: "([^"]+)"
Sample:  Il libro "Il nome della rosa" e' famoso.

El grupo ([^"]+) captura todo entre comillas deteniéndose antes del siguiente ": es un truco clásico para evitar el problema codicioso versus perezoso.

Negación y comodines alternativos

La clase negada [^...] consume exactamente un carácter que NO pertenece al conjunto listado. Es una gran herramienta para evitar que el motor consuma delimitadores críticos, evitando ReDoS debido a infinitos intentos.

Pruébalo tú mismo

Ejercicio#regex.m5.l3.e1
Intentos: 0Cargando...

Estrai il contenuto di ogni stringa tra doppi apici, senza catturare gli apici stessi.

Cargando editor...
Mostrar pista

Sostituisci .+ con [^"]+: in questo modo il match si ferma al prossimo apice.

Solución disponible después de 3 intentos

Ejercicio de revisión

Ejercicio#regex.m5.l3.e2
Intentos: 0Cargando...

Trova tutte le parole composte SOLO da consonanti (niente vocali, niente cifre, niente simboli).

Cargando editor...
Mostrar pista

Dentro le quadre puoi combinare negazione di vocali con \\W (non-parola) e \\d (cifre).

Solución disponible después de 3 intentos

Desafío adicional

Ejercicio#regex.m5.l3.e3
Intentos: 0Cargando...

Matcha sequenze di uno o più caratteri escludendo esplicitamente spazi vuoti e virgole.

Cargando editor...
Mostrar pista

Usa [^\s,] con il quantificatore +.

Solución disponible después de 3 intentos