/ / Coincidencia de cadenas largas (en su mayoría similares) con cadenas largas: expresiones regulares, algoritmo, coincidencia de cadenas

hacer coincidir cadenas largas (en su mayoría similares) con cadenas largas - expresiones regulares, algoritmos, combinaciones de cadenas

Estoy tratando de encontrar la mejor manera de emparejar yReconocer diferentes textos de licencia dentro de archivos. Estas son cadenas multilínea bastante largas (a veces 2 páginas de tamaño carta) y si coinciden deberían ser casi iguales, excepto por algunas variables (Nombre, fecha, nuevas líneas impares, espacios impares). Mi pregunta es, ¿cuál es la mejor manera de unir cadenas largas en cadenas aún más largas? ¿El uso de expresiones regulares está justificado para eso (una expresión regular enorme que contendría el texto completo de la licencia con algunos comodines para los elementos variables)? ¿Existe un algoritmo de búsqueda / coincidencia de cadenas que sea particularmente adecuado?

Respuestas

1 para la respuesta № 1

Leer acerca de La subsecuencia común más larga de 2 cuerdas. Algoritmo basado en Programación dinámica


0 para la respuesta № 2

La mayoría de las bibliotecas de expresiones regulares están sintonizadas para serrápido en la práctica en el tipo de expresiones regulares que la gente suele escribir, a veces ignorando casos raros en los que puedes construir expresiones regulares que hacen que tomen una cantidad de tiempo horrible. Si su patrón no es uno de los horribles casos especiales, es probable que no importe mucho el tiempo porque, en la práctica, la mayoría de los lugares donde no puede coincidir con el texto pueden reconocerse al verificar solo algunos caracteres del Texto y patrón, y estos desajustes son donde el tiempo pasa.

Si quieres estar seguro de un buen rendimiento, yobuscaría una sola cadena de texto fijo (lo más grande posible) que debe existir en todas las formas de la licencia, buscará esto en los archivos y luego volverá a verificar las pocas apariciones de esto de una manera más compleja para ver si son verdaderas coincide o no Pero es muy probable que esto sea más o menos lo que sucederá, en la práctica, si realiza una búsqueda regular de expresiones regulares. ¿Por qué no dejar que su expresión regular se suelte en los archivos, o en un subconjunto de ellos, y ver cuánto tiempo lleva?