XRegExp 3.0.0!

Después de más de 3 años, se lanzó XRegExp 3.0.0. Las características sobresalientes son un rendimiento mucho mejor (muchas operaciones comunes son de 2 a 50 veces más rápidas) y compatibilidad con Unicode completo de 21 bits (gracias a Mathias Bynens). También acabo de terminar de actualizar toda la documentación en xregexp.com, así que échale un vistazo. 🙂

Si no ha usado XRegExp antes, es una biblioteca de JavaScript con licencia del MIT que proporciona expresiones regulares aumentadas (¡y extensibles!). Obtiene nueva sintaxis moderna y banderas más allá de lo que los navegadores admiten de forma nativa. XRegExp también es un cinturón de utilidades de expresiones regulares con herramientas para facilitar el análisis y análisis del lado del cliente, al tiempo que lo libera de preocuparse por las molestas inconsistencias entre navegadores y cosas como la manipulación manual de lastIndex o cortar cadenas al tokenizar.

La versión 3.0.0 tiene muchas características adicionales, opciones, ajustes finos, correcciones para navegadores cruzados, una nueva sintaxis simplificada y miles de nuevas pruebas. Y todavía es compatible con todos los navegadores. Consulta la larga lista de cambios. Hay algunos cambios importantes menores que no deberían afectar a la mayoría de las personas y tienen soluciones fáciles. Los he enumerado todos a continuación, pero vea el registro de cambios completo si necesita más detalles sobre ellos.

  • XRegExp.forEach ya no acepta ni devuelve su contexto. Utilice el enlace con la devolución de llamada proporcionada en su lugar.
  • Datos de caracteres movidos para la categoría Unicode L (Letter ) de la base Unicode a Categorías Unicode . Esto no tiene efecto si ya está usando Categorías Unicode o XRegExp-Todos .
  • Usar el mismo nombre para varios grupos de captura con nombre en una sola expresión regular ahora es un SyntaxError .
  • Eliminó el 'all' atajo usado por XRegExp.install /uninstall .
  • Se eliminaron los prototipos addon, que agregó métodos apply , call , forEach , globalize , xexec y xtest a XRegExp.prototype . Todos estos eran solo alias de métodos en el XRegExp objeto.
  • Algunos cambios afectan solo a los complementos personalizados:cambió el formato para proporcionar datos Unicode personalizados, reemplazó XRegExp.addToken de trigger y customFlags opciones con nuevo flag y optionalFlags y eliminó el this.hasFlag función previamente disponible dentro de las funciones de definición de tokens.

Puede descargar la nueva versión en GitHub o instalarla a través de npm. Me encantaría escuchar comentarios y casos de uso comunes relacionados con expresiones regulares que crea que podrían simplificarse a través de las nuevas funciones de XRegExp. Házmelo saber aquí o en problemas de GitHub. ¡Gracias!