Expresiones regulares

En el buscador pueden utilizarse expresiones regulares (tipo PERL), útiles para buscar cadenas de texto que cumplan con un determinado patrón. Se ofrece a continuación un resumen de los principales elementos de ese lenguaje, con algunos ejemplos útiles:

Clases de caracteres:

Sirven para señalar una relació de caracteres que pueden ocupar una posición determinada. Van entre paréntesis cuadrados: ilt[iu]r encaja con iltir o iltur. [aeiou] encaja con cualquier vocal, [a-zA-Z] con cualquier consonante (obsérvese el uso del guión para referirnos a secuencias seguidas de caracteres).

Alternancias:

Van entre paréntesis, y se usa la barra vertical para separar las distintas opciones: (bas|kuRs)iaukeku encaja con basiaukeku y con kuŕsiaukeku. Pueden usarse paréntesis anidados.

\w

Abreviatura para [a-zA-Z], es decir, cualquier carácter alfabético. Su contrario es \W, en mayúscula, que significa cualquier carácter no alfabético (espacio en blanco, salto de línea, asterisco, etc.). Así, ilt\wr encaja con iltir, iltur, etc. ilt[\W\w]r encaja también con ilti*r. El punto (.) se usa como abreviatura de [\W\w], por lo que si lo que buscamos incluye un punto, hay que ponerle delante \ (la secuencia de escape) para que se interprete literalmente como un punto.

\b

Límite de carácter. Útil para especificar si una secuencia la buscamos a principio o final de palabra: \b\w{8}ka\b localiza palabras de 8 letras más un posible sufijo ka.

Cuantificadores:

Cualquier carácter o clase de caracteres puede cuantificarse con * (de cero a infinitas veces), ? (ninguna o una vez), + (de una a infinitas veces), o lo que se especifique entre corchetes: {5} (cinco veces), {2,10} (de dos a diez veces), {,10} (de cero diez veces), {10,} (de diez a infinitas veces). Un interrogante a continuación de cualquiera de los anteriores sirve para que el buscador busque la secuencia más corta posible que cumpla con el patrón, de lo contrario buscará la más larga posible.

Variables

Los paréntesis pueden también usarse para almacenar en una variable el texto que encaje con el patrón que contengan. Esa variable se llama \1 para el primer par de paréntesis, \2 para el segundo (o el que se encuentre en primer lugar dentro del primero), etc., hasta \9. Por ejemplo, \b\w+?(\w{2,3}):\w+?\1\b buscará secuencias de dos o tres letras repetidas al final de dos palabras separadas por interpunción (:), es decir, posibles concordancias. [Por el momento, el programa localiza las secuencias, pero no marca en rojo los resultados]

Abreviaturas AEHTAM

Aparte de las abreviaturas incorporadas en el propio lenguaje de expresiones regulares, pueden definirse algunas otras útiles para los fines específicos del Banco de Datos. Por el momento, y provisionalmente, se han definido Ç para cualquier consonante y @ para cualquier vocal (C y V no resultan convenientes, por usarse en transcripciones de textos con alfabeto latino).