This pattern has 2 capturing groups with 2 flags (gi) and is broken down into 14 parts below.
Flags
gglobal - find all matches in the input, not just the first oneiignore case - letters match regardless of upper or lower case^Start-of-string anchor (or start of a line with the m flag)(?<user>Start of a named capturing group "user" - saves its match under that name[a-z0-9._%+-]A single character from the set: the range "a" to "z", the range "0" to "9", the character ".", the character "_", the character "%", the character "+", the character "-"+Repeated one or more times)End of the group@A literal "@" character(?<domain>Start of a named capturing group "domain" - saves its match under that name[a-z0-9.-]A single character from the set: the range "a" to "z", the range "0" to "9", the character ".", the character "-"+Repeated one or more times\.A literal "." character (the backslash removes its special meaning)[a-z]A single character from the set: the range "a" to "z"{2,}Repeated 2 or more times)End of the group$End-of-string anchor (or end of a line with the m flag)
Un explicador de expresiones regulares toma una expresión regular y la traduce al inglés sencillo, una construcción a la vez. En lugar de entrecerrar los ojos en una línea densa como ^(?<user>[a-z0-9._%+-]+)@... Obtienes un desglose etiquetado: esta parte es un ancla, este es un grupo de captura con nombre, esta clase de carácter significa "una letra minúscula, un dígito, un punto o un guión", y este cuantificador significa "una o más veces". Convierte una pared de símbolos en una lista de verificación que puedes leer.
Las expresiones regulares son compactas por diseño, lo que las hace potentes pero difíciles de revisar. El mismo patrón se puede escribir de muchas maneras, y una sola barra invertida descarriada o un cuantificador codicioso cambia el significado por completo. Leer una expresión regular desconocida (en una revisión de código, un archivo de configuración antiguo o una respuesta de desbordamiento de pila) generalmente significa simular mentalmente el motor. Esta herramienta hace esa simulación por usted y muestra el resultado como una lista ordenada y sangrienta que refleja la estructura del patrón, incluidos los grupos anidados y las miradas.
Todo se ejecuta en el lado del cliente en el mismo motor de RegExp RegEx de JavaScript que usa su código, por lo que el comportamiento de la bandera y la validez que ve aquí coinciden con la producción. Su patrón nunca se carga, no se registra nada y la herramienta sigue funcionando sin conexión una vez que la página se ha cargado. Eso importa cuando la expresión regular que está tratando de comprender proviene de una base de código privada o coincide con formatos de datos confidenciales.
El explicador le dice lo que dice un patrón, no si es el patrón correcto para sus datos, para verificar eso, ejecútelo con la entrada real en el probador de expresiones regulares. Debido a que se compila con el propio motor del navegador, las construcciones que existen en PCR pero no en ECMAScript se comportan de dos maneras diferentes. Los cuantificadores posesivos como A++, grupos atómicos (?>...) y recursión (?r) se rechazan con el mensaje del motor. El caso más sutil es \a y \z: sin la bandera u JavaScript los trata como escapes de identidad, por lo que un patrón copiado de PHP o Python se explica como coincidente con una a o z literal en lugar de un límite de cadena, y no se genera ningún error. Los cuantificadores anidados como (A+)+ se describen normalmente también; el retroceso catastrófico es una propiedad de tiempo de ejecución de la entrada, no algo visible en la estructura.
Introduzca el patrón sin las barras circundantes, solo la expresión misma. Haga clic en Cargar muestra para comenzar desde un ejemplo de coincidencia de correo electrónico trabajado.
Alterne las banderas que utiliza el patrón (G, I, M, S, U, Y, D). El explicador informa qué hace cada bandera y valida el patrón contra esa combinación de bandera.
Cada token se enumera en orden con una descripción simple en inglés. Los grupos anidados están sangrados, de modo que la estructura del patrón sea visible de un vistazo.
Copie el desglose completo de texto sin formato para pegar en un comentario de código, una nota de solicitud de extracción o documentación para que el próximo lector no tenga que decodificarlo.
Cada ancla, clase de personaje, cuantificador, grupo y escape obtiene su propia línea con una descripción, en el orden en que el motor los lee
Los grupos con nombre de captura, no captura, y los cuatro tipos de búsqueda están etiquetados y con sangría, por lo que la estructura anidada es fácil de seguir
Las banderas G, I, M, S, U, Y y D se describen en contexto, para que entiendas cómo cambian toda la coincidencia, no solo la sintaxis
Los patrones se validan con el motor RegExp nativo del navegador, por lo que se detecta una expresión no válida con el error exacto antes de confiar en él.
Extract email addresses, URLs, phone numbers, and IPv4 addresses from any block of text. De-duplicate, sort, and copy the results. Runs client-side.
Find and replace text with a regular expression, using capture group backreferences like $1 and named groups, with full flag support
Test regular expressions against sample text with live match highlighting, capture groups, and full flag support
Build, test, and debug regular expressions with real-time matching and a comprehensive cheatsheet
0 comments
No comments yet. Be the first to share your thoughts!