Anclas ⤢ ^Coincide con la posición al inicio de la cadena, o al inicio de una línea con el flag m. ^He → He ⤢ $Coincide con la posición al final de la cadena, o al final de una línea con el flag m. lo$ → lo ⤢ \bCoincide con un límite de palabra: la posición entre un carácter de palabra y uno que no lo es. \bcat\b → cat ⤢ \BCoincide con un no límite de palabra: la posición entre dos caracteres de palabra o dos que no lo son. \Bar → ar Clases de caracteres ⤢ .Coincide con cualquier carácter individual excepto un salto de línea, salvo que el flag s esté activo. a.c → abc ⤢ \dCoincide con cualquier dígito, del 0 al 9. \d → 7 ⤢ \DCoincide con cualquier carácter que no sea un dígito. \D → a ⤢ \wCoincide con cualquier carácter de palabra: una letra, un dígito o un guion bajo. \w → _ ⤢ \WCoincide con cualquier carácter que no sea de palabra. \W → ! ⤢ \sCoincide con cualquier carácter de espacio en blanco: un espacio, un tabulador o un salto de línea. a\sb → a b ⤢ \SCoincide con cualquier carácter que no sea un espacio en blanco. \S → a ⤢ [abc]Coincide con cualquiera de los caracteres listados dentro de los corchetes. [aeiou] → e ⤢ [^abc]Coincide con cualquier carácter que no sea uno de los listados dentro de los corchetes. [^aeiou] → s ⤢ [a-z]Coincide con cualquier carácter individual del rango indicado, de la a a la z. [a-z] → m ⤢ [\s\S]Coincide con cualquier carácter individual incluido un salto de línea; el modismo habitual para un punto que atraviesa líneas. [\s\S] → \n ⤢ \p{L}Coincide con cualquier letra Unicode de cualquier escritura, cuando el flag u está activo. \p{L} → é ⤢ \p{N}Coincide con cualquier carácter numérico Unicode de cualquier escritura, cuando el flag u está activo. \p{N} → ٣ ⤢ \nEscape: coincide con un único carácter de salto de línea (line feed). \n → line feed ⤢ \tEscape: coincide con un único carácter de tabulación. \t → tab ⤢ \rEscape: coincide con un único carácter de retorno de carro. \r → carriage return ⤢ \xhhCoincide con el carácter individual cuyo código hexadecimal de dos dígitos se indica. \x41 → A ⤢ \u{hhhh}Coincide con el carácter individual del punto de código hexadecimal indicado, cuando el flag u está activo. \u{1F600} → 😀 ⤢ [[a-z]&&[^aeiou]]Intersección de clases, con el flag v: coincide con caracteres que están en ambos conjuntos a la vez. [[a-z]&&[^aeiou]] → t Cuantificadores ⤢ *Coincide con el token anterior cero o más veces. ab* → abbb ⤢ +Coincide con el token anterior una o más veces. a+ → aaa ⤢ ?Coincide con el token anterior cero o una vez, haciéndolo opcional. colou?r → color ⤢ {n}Coincide con el token anterior exactamente n veces. a{3} → aaa ⤢ {n,}Coincide con el token anterior n o más veces. a{2,} → aaaa ⤢ {n,m}Coincide con el token anterior entre n y m veces, ambas incluidas. a{2,4} → aaa ⤢ *?Cuantificador perezoso: coincide con el token anterior cero o más veces, tomando tan poco como sea posible. <.*?> on <a><b> → <a> ⤢ +?Cuantificador perezoso: coincide con el token anterior una o más veces, tomando tan poco como sea posible. \d+? on 123 → 1 ⤢ ??Cuantificador perezoso: coincide con el token anterior cero o una vez, prefiriendo cero. ab?? on ab → a ⤢ {n,m}?Cuantificador perezoso: coincide con el token anterior entre n y m veces, tomando tan poco como sea posible. a{1,3}? on aaa → a ⤢ *+Cuantificador posesivo (PCRE): coincide con el token anterior cero o más veces y lo conserva, sin retroceder nunca para probar otras divisiones. .*+a on aaa → no match Grupos y alternancia ⤢ (abc)Grupo de captura: coincide con la secuencia y la recuerda para retroreferencias. (ab)+ → abab ⤢ (?:abc)Grupo sin captura: coincide con la secuencia sin recordarla. (?:ab)+ → abab ⤢ (?=abc)Lookahead positivo: coincide si los siguientes caracteres son abc, sin consumirlos. a(?=b) → a ⤢ (?!abc)Lookahead negativo: coincide si los siguientes caracteres no son abc, sin consumirlos. a(?!b) → a ⤢ \1Retroreferencia: coincide con el texto exacto que capturó el grupo 1. (a)\1 → aa ⤢ a|bAlternancia: coincide con la expresión de antes o la de después de la barra. cat|dog → dog ⤢ (?<name>abc)Grupo de captura con nombre: coincide con la secuencia y la recuerda bajo el nombre indicado. (?<year>\d{4}) → year = 2026 ⤢ (?<=abc)Lookbehind positivo: coincide si los caracteres precedentes son abc, sin consumirlos. (?<=a)b → b ⤢ (?<!abc)Lookbehind negativo: coincide si los caracteres precedentes no son abc, sin consumirlos. (?<!a)b → b ⤢ \k<name>Retroreferencia con nombre: coincide con el texto exacto que capturó el grupo con nombre. (?<w>\w+) \k<w> → the the ⤢ (?>abc)Grupo atómico (PCRE): coincide con la secuencia una vez y nunca retrocede dentro de él. (?>a+)ab on aab → no match ⤢ (?|a|b)Reinicio de rama (PCRE): alternancia donde cada rama reutiliza los mismos números de grupo. (?|(cat)|(dog)) → \1 = dog Flags ⤢ gFlag global: encuentra todas las coincidencias en la cadena, no solo la primera. /a/g on aaa → a, a, a ⤢ iFlag de insensibilidad a mayúsculas: ignora el caso de las letras al coincidir. /Hi/i → hi ⤢ mFlag multilínea: trata ^ y $ como el inicio y el final de cada línea. /^a/m matches at the start of each line ⤢ sFlag dotall: permite que el punto también coincida con un salto de línea. /a.b/s → a\nb ⤢ uFlag Unicode: trata el patrón y su entrada como puntos de código Unicode. /\u{1F600}/u → 😀 ⤢ yFlag sticky: coincide solo en la posición exacta que fija lastIndex. /ab/y matches only at lastIndex ⤢ dFlag de índices: añade al resultado la posición de inicio y fin de cada coincidencia. /b/d on abc → indices [1, 2] ⤢ vFlag de conjuntos Unicode: un u más estricto que además permite operaciones de conjuntos dentro de una clase. /[a-z&&[^aeiou]]/v → t ⤢ xFlag extendido (PCRE): ignora el espacio en blanco sin escapar y los comentarios # dentro del patrón. /a b/x → ab