Pregunta

Me gustaría encontrar patrones y ordenarlos por número de ocurrencias en un archivo HEX que tengo.

No estoy buscando desde hace algún patrón específico, sólo para hacer algunas estadísticas de los sucesos que ocurren allí y ordenarlos.

DB0DDAEEDAF7DAF5DB1FDB1DDB20DB1BDAFCDAFBDB1FDB18DB23DB06DB21DB15DB25DB1DDB2EDB36DB43DB59DB32DB28DB2ADB46DB6FDB32DB44DB40DB50DB87DBB0DBA1DBABDBA0DB9ADBA6DBACDBA0DB96DB95DBB7DBCFDBCBDBD6DB9CDBB5DB9DDB9FDBA3DB88DB89DB93DBA5DB9CDBC1DBC1DBC6DBC3DBC9DBB3DBB8DBB6DBC8DBA8DBB6DBA2DB98DBA9DBB9DBDBDBD5DBD9DBC3DB9BDBA2DB84DB83DB7DDB6BDB58DB4EDB42DB16DB0DDB01DB02DAFCDAE9DAE5DAD9DAE2DAB7DA9BDAA6DA9EDAAADAC9DACADAC4DA92DA90DA84DA89DA93DAA9DA8CDA7FDA62DA53DA6EDA

Esto es un extracto del archivo HEX, y como ejemplo me gustaría llegar:

XX ocurrencias de BDBDBD

XX ocurrencias de B93D

¿Hay una manera de extraer el archivo para generar esa salida?

¿Fue útil?

Solución

Claro. Utilizar un ventana deslizante para crear el conteos (el enlace es para Perl, pero parece bastante general para entender el algoritmo). Sus patrones se denominan N-gramos . Usted tendrá que limitar el patrón máxima, sin embargo.

Otros consejos

Este es un problema bastante clásico de CS. El código en general es no trivial de implementar, ya que se requieren por lo menos un análisis sintáctico completa de la secuencia, y dependiendo de su eficiencia y las limitaciones de memoria / procesador puede requerir varios. Ver aquí .

Usted tendrá que crear particiones en la cadena de entrada de alguna manera para asegurar que se obtiene una buena subsecuencia a través de ella.

Si hay un problema específico que podría ser capaz de ayudar más, pero la estrategia general se encuentra en el artículo de Wikipedia anteriormente.

Puede utilizar expresiones regulares para hacer un patrón a buscar.

La expresión regular necesaria sería muy simple. Sólo tiene que utilizar la frase exacta que está buscando. Entonces debe haber una función de expresiones regulares en el idioma que está usando (que no especifica) que puede contar el número de coincidencias.

El uso que para crear un simple contador.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top