Saltar al contenido principal
Las expresiones regulares se usan en los diccionarios basados en expresiones regulares para definir qué palabras están permitidas en un idioma y cuáles no.

Reglas de expresiones regulares

El alfabeto de expresiones regulares de ABBYY FineReader Engine se describe en la siguiente tabla:
  • Algunos caracteres utilizados en las expresiones regulares son “auxiliares”, es decir, se usan con fines del sistema. Como puede ver en la lista anterior, estos caracteres incluyen corchetes, puntos, etc. Si desea introducir un carácter auxiliar como uno normal, anteponga una barra invertida (). Ejemplo: [t-v]x+ denota palabras como “tx”, “txx”, “txxx”, etc., “ux”, “uxx”, etc., pero [t-v]x+ denota palabras como “[t-v]x”, “[t-v]xx”, “[t-v]xxx”, etc. - Si necesita agrupar determinados elementos de una expresión regular, use paréntesis. Por ejemplo, (a|b)+|c denota “c” y cualquier combinación como “abbbaaabbb”, “ababab”, etc. (una palabra de cualquier longitud distinta de cero en la que puede haber cualquier cantidad de a y b en cualquier orden), mientras que a|b+|c denota “a”, “c” y “b”, “bb”, “bbb”, etc.

Expresiones regulares de ejemplo

Expresión regular para fechas El número que indica el día puede constar de un dígito (p. ej., 1, 2, etc.) o de dos dígitos (p. ej., 02, 12), pero no puede ser cero (00 o 0). La expresión regular para el día tendrá entonces este aspecto: ((|0)[1-9])|([12][0-9])|(30)|(31). La expresión regular para el mes tendrá este aspecto: ((|0)[1-9])|(10)|(11)|(12). La expresión regular para el año tendrá este aspecto: (((19)|(20))[0-9][0-9])|([0-9][0-9]). Lo que queda es combinar todo esto y separar los números con un punto (p. ej., 1.03.1999). El punto es un signo auxiliar, por lo que debemos poner una barra invertida () delante. La expresión regular para la fecha completa tendrá entonces este aspecto: (((|0)[1-9])|([12][0-9])|(30)|(31)).(((|0)[1-9])|(10)|(11)|(12)).((((19)|(20))[0-9][0-9])|([0-9][0-9])) Expresión regular para direcciones de correo electrónico Puede definir fácilmente un patrón para representar direcciones de correo electrónico. La expresión regular para una dirección de correo electrónico puede tener este aspecto: [a-zA-Z0-9_-.]+@[a-zA-Z0-9.-]+.[a-zA-Z]+

Uso para la captura de datos

Si utiliza expresiones regulares en el reconocimiento a nivel de campo, por lo general solo necesita reconocer las palabras que coinciden exactamente con la expresión regular. En este caso, recomendamos crear un idioma independiente para reconocer los campos y establecer las siguientes propiedades para dicho idioma:
  1. Solo se deben permitir como resultados de reconocimiento las palabras del diccionario: establezca la propiedad IBaseLanguage::AllowWordsFromDictionaryOnly en TRUE. Esto es necesario para la coincidencia exacta.
  2. El conjunto de letras del idioma de reconocimiento debe contener únicamente los caracteres incluidos en la expresión regular: especifique la propiedad IBaseLanguage::LetterSet. Esto es necesario porque los caracteres del alfabeto del idioma pueden reconocerse incluso si no se ajustan a la expresión regular.
  3. Establezca la propiedad IBaseLanguage::IsNaturalLanguage en FALSE.

Ejemplos para Windows

Consulte también

Trabajar con diccionarios RegExpDictionaryDescription