# Principios básicos de las expresiones regulares (regex)

La siguiente tabla proporciona algunos principios básicos para el uso de expresiones regulares dentro de la interfaz gráfica de usuario de ViDi.

Delimitadores
^ | Especifica el inicio de una cadena o una línea, como ^0, que coincidiría con las cadenas que comienzan por 0. Nota: Cuando se usa el carácter ^ dentro de corchetes, p. ej., [^0], el ^ significa que no comienza.
$ | Especifica el final de una cadena o línea, como 0$, que correspondería a las cadenas que terminan con un 0.
Coincidencia básica
. | Coincide con cualquier carácter individual. Nota: Para coincidir con un punto, debe escaparse el punto usando una barra invertida. Por ejemplo, habría que introducir: \.
\d | Coincide con cualquier dígito en el rango de 0123456789. Los dígitos reales, 0-9, también pueden expresarse escribiendo el dígito.
\w | Coincide con cualquier letra, dígito y el carácter de subrayado (_). Los caracteres reales, que distinguen entre mayúsculas y minúsculas, pueden expresarse escribiendo un carácter a-z o A-Z.
\s | Coincide con un espacio en blanco.
Caracteres específicos
[...] | Los corchetes [ ] se utilizan para coincidir con caracteres específicos, que se definen dentro de los corchetes. Por ejemplo, [a-z] coincide con una letra minúscula de la "a" a la "z", o T[ao]p coincidiría con Tap o Top. Los corchetes se pueden usar en estructuras compuestas, como [A-C][0-3][g-i], de modo que se pueden coincidir con cadenas de A0g, A0h, B1i y C3g.
Repeticiones
{...} | Las llaves { } sirven para denotar repeticiones. Por ejemplo, t{2} devuelve dos "t"; [def]{3} devuelve tres caracteres, que podrían ser una "d", una "e" o una "f"; y .{1,4} coincide con entre uno y cuatro caracteres cualesquiera.
* | Denota cero o más instancias de un carácter o dígito. Por ejemplo, a* correspondería a cero o más caracteres.
+ | Denota una o varias instancias de un carácter. Por ejemplo, [nop]+ coincidiría con uno o varios de los caracteres "n", "o" o "p".
Caracteres opcionales
? | El signo de interrogación ? se usa para coincidir con el cero o con uno de los caracteres o grupos anteriores. Por ejemplo, 12?3 coincidirá con 123 o 13. Nota: Para que coincida con un signo de interrogación, debe escaparse el signo de interrogación con una barra invertida. Por ejemplo, debería introducir: \?
Agrupamiento
(...) | Se usan paréntesis para definir grupos de caracteres, de modo que el subpatrón dentro de un par de paréntesis constituye un grupo. Esto puede ser muy útil para extraer información de los nombres de archivo de las imágenes. Por ejemplo, si ha curado sus imágenes para que usen cierta convención de nombres, como Buena_0001.png, y quiere devolver solo esas imágenes, puede usar ^(Buena.+)\.png$ También puede utilizar los paréntesis para capturar grupos anidados. Usando el ejemplo anterior, podría restringir la búsqueda basándose en los dígitos, p. ej., ^(Buena(\d+))\.png$ Además, los cuantificadores descritos anteriormente también pueden ponerse entre paréntesis para capturar patrones. Por ejemplo, si desea capturar posibles áreas mayores de 1000, puede utilizar (\d{4})x(\d{4}) Puede usarse el identificador OR lógico | para denotar distintos conjuntos de caracteres posibles. Por ejemplo, si quiere devolver "arañazo", "mella" o "agujero" en un conjunto de nombres de archivo, puede usar ^(Mala(\d+)(arañazo|mella|agujero))\.png$