Niveles de conocimiento de JavaScript Regex

  1. N00b
    • Piensa que "expresiones regulares" es una noche de micrófono abierto en un bar de poesía.
    • Utiliza 00 , 19 , 27 , y otras clases de taquigrafía puramente por accidente, en todo caso.
    • Abusa dolorosamente de 31 y especialmente 49 .
    • Coloca palabras en clases de caracteres.
    • Utiliza 57 en clases de personajes para la alternancia.
    • No ha oído hablar del 60 método.
    • Copia y pega expresiones regulares mal escritas de la web.
  2. N00b capacitado
    • Utiliza expresiones regulares donde métodos como 72 o 89 haría.
    • Utiliza 99 , 106 y 113 modificadores innecesariamente.
    • Utiliza 129 en lugar de 133 .
    • No sabe por qué usar 145 regala su n00bness.
    • Intenta eliminar etiquetas HTML con 158 .
    • Escapa a todos los signos de puntuación\!
  3. Usuario
    • Sabe cuándo usar expresiones regulares y cuándo usar métodos de cadena.
    • Juguetes con anticipación.
    • Utiliza expresiones regulares en condicionales.
    • Empieza a comprender por qué las etiquetas HTML son difíciles de combinar con las expresiones regulares.
    • Sabe usar 165 cuando no se necesita una referencia inversa o una captura.
    • Puede leer una expresión regular relativamente simple y explicar su función.
    • Conoce el uso de 178 funciones de devolución de llamada.
  4. Haxz0r
    • Utiliza la anticipación con impunidad.
    • Suspira por la falta de disponibilidad de lookbehind y otras funciones de bibliotecas de expresiones regulares más potentes.
    • Sabe qué 185 , 196 y 201 significa en una cadena de reemplazo.
    • Conoce la diferencia entre metacaracteres literales de cadena y expresiones regulares, y cómo esto afecta el 219 constructor.
    • Por lo general, sabe si un cuantificador codicioso o perezoso es más apropiado, incluso cuando no cambia lo que coincide con la expresión regular.
    • Tiene un sentido básico de cómo evitar problemas de eficiencia de expresiones regulares.
    • Sabe cómo iterar sobre cadenas usando el 228 método y un 237 bucle.
    • Sabe que las propiedades del 241 global objeto y el 250 están en desuso.
  5. Gurú
    • Comprende la importancia de modificar manualmente el 264 de un objeto regex propiedad y cuándo esto puede ser útil dentro de un bucle.
    • Puede explicar cómo funcionará o no cualquier expresión regular dada.
    • Ya no experimenta la emoción de escribir expresiones regulares complejas que funcionan en el primer intento, ya que el comportamiento de las expresiones regulares se ha vuelto predecible y obvio.
    • Es inmune al retroceso catastrófico y puede determinar fácilmente (y con precisión) si un cuantificador anidado es seguro.
    • Conoce numerosas diferencias de comportamiento y sintaxis de expresiones regulares entre navegadores.
    • Sabe de antemano el número de sección de ECMA-262 3.ª edición que cubre las expresiones regulares.
    • Comprende la diferencia entre capturar la no participación del grupo frente a la participación pero capturando una cadena vacía, y las diferencias de comportamiento que esto puede generar.
    • Tiene preferencia por determinadas reglas de referencia inversa relacionadas con la captura de la participación del grupo y la alternancia cuantificada, o al menos es consciente de las incoherencias de implementación.
    • A menudo sabe qué navegador ejecutará una expresión regular determinada más rápido antes de realizar la prueba, en función de las optimizaciones y debilidades internas conocidas.
    • Piensa que escribir expresiones regulares recursivas es fácil, siempre que haya un límite superior para la profundidad de recursión.
  6. Asistente
    • Funciona en un motor de expresiones regulares.
    • Ha parcheado el motor de vez en cuando.
  7. Dios
    • Puede agregar funciones al motor a su antojo.
    • También creó toda la vida en la tierra usando una función constructora.

(Muy adaptado y JavaScriptizado de 7 Stages of a [Perl] Regex User .)