2.DFA y NFA
Recomendaciones Los motores de expresión regular de DFA y NFA se clasifican en dos categorías, una llamada DFA (autómata finito determinista) y la otra NFA (no determinista) Máquina autonómica sexual). Para funcionar sin problemas, ambos tipos de motores deben tener una expresión regular y una cadena de texto, una en la mano y otra para comer. DFA pinza la cadena de texto para comparar la expresión regular. Cuando ve una expresión sub-regular, marca todas las cadenas coincidentes posibles, luego mira la siguiente parte de la expresión regular y actualiza la etiqueta en función del nuevo resultado coincidente. La NFA mantiene el estilo normal para comparar el texto, comer un personaje, compararlo con el estilo normal, y la coincidencia se anota: "¡Un determinado día del mes coincide en algún lugar!" ", luego baja. Una vez que no haya coincidencia, escupe el personaje que acabas de comer, escupe uno por uno hasta que regreses a la última coincidencia. La diferencia entre el mecanismo de DFA y NFA trae cinco efectos: 1. DFA solo necesita escanear cada carácter en la cadena de texto una vez, pero tiene menos características; NFA tiene que voltear y comer caracteres y escupir caracteres, pero la velocidad es lenta, pero Rico en funciones, por lo que es ampliamente utilizado. Los principales motores de expresiones regulares de la actualidad, como Perl, Ruby, el módulo de re de Python, las bibliotecas de expresiones regulares de Java y .NET, son todos NFA. 2. Solo NFA admite funciones como lazy y backreference; 3. NFA está ansioso por invitar, por lo que el estilo regular infantil más a la izquierda coincide primero, por lo que ocasionalmente se pierde el mejor resultado de coincidencia; DFA es "la expresión regular infantil más larga del lado izquierdo" Prioridad en el éxito del partido y ". 4. La NFA utiliza de manera predeterminada el cuantificador codicioso (ver elemento 4); 5. La NFA puede caer en la trampa de las llamadas recursivas y comportarse de manera muy deficiente. Daré un ejemplo aquí para ilustrar el tercer impacto. Por ejemplo, usando expresiones regulares /perl
Al mantener el archivo del blog de hoy, encontré que algunas carpetas y archivos en la ruta del siti
El Layer 2 Tunneling Protocol (L2TP) es un protocolo de túnel de Internet estándar de la industria
Los archivos A.Linux se pueden dividir en cuatro tipos: archivos ordinarios, archivos de director
El programa en ejecución se llama proceso. Cuando un programa se almacena en un archivo ejecutable y
Comandos comunes para crear y eliminar directorios de Linux
U disco forma sencilla de instalar Linux
Enseñarle completamente libre de firewall de Linux de construcción propia
Comunicación entre procesos de Linux modo de memoria compartida
Introducción al equilibrio de carga del clúster de Linux
CentOS habilita el método sudo
Cygwin soporta la configuración china
Clasificación de la cuota de mercado de marzo del sistema operativo: Win7 primero
Modifique el X-Cache en el encabezado de Squid a Powered-By-LinuxTone
La comprensión inicial del servidor iterativo y del servidor concurrente
Nombre de archivo del sistema de archivos de cambio por lotes de Shell
Microsoft toma prestado OpenStreetMap para contrarrestar el servicio de Google Maps
CentOS es compatible con chino y ssh admite la modificación de entrada en chino
Herramienta de gestión remota PsTools management computer
¿Qué archivo del sistema Win7 es el archivo
La búsqueda de Google y Firefox en Bing se recomendará para Win10 Edge
¿Qué abre la URL de entrada del sistema Win7 para otros sitios web?
Consejos para usar las funciones de la biblioteca en el sistema Win7
Optimizar Windows 7 para hacer juegos en línea no tarjeta
¿Cómo configurar el calendario del sistema win10 para que muestre la fecha lunar?