Las expresiones regulares en Ada?
Pregunta
Estoy muy nuevo en Ada, y yo estoy tratando de hacer un trabajo sencillo con un poco de texto. Todo lo que quiero hacer es leer en un archivo, y tira a cualquier cosa que no sea una letra, espacio o nueva línea. por lo que la eliminación de toda la puntuacion y números. En otros idiomas me acaba de crear un sencillo [^ a-zA-Z] expresión regular, mira a cada personaje y eliminarlo si cabe la expresión regular, pero me parece que no puede encontrar ninguna documentación sobre expresiones regulares de en Ada. Por lo tanto, hay expresiones regulares de en Ada? Si no es así, ¿cuál es la mejor manera de que me vaya acerca de la edición de texto simple como esto.
Gracias mucho, -jb
Solución
si está utilizando el compilador GNAT, hay un conjunto de paquetes llamados GNAT.RegExp
, GNAT.RegPat
y GNAT.Spitbol
hecho para esta tarea.
ten en cuenta que no es expresión regular estándar ala Perl, pero se basa en SNOBOL4. Sin embargo, no debe ser muy difícil de convertir de un tipo de expresión regular a otro.
Otros consejos
Es posible que desee ir a través de este ejemplo, y sólo tiene que buscar los caracteres que desea ignorar y no ponerlos en la nueva cadena.
¿Qué versión de Ada está usando?
probablemente me miro cosas del mosquito SNOBOL en sus zapatos.
Sin embargo, hay un proyecto disponible para el análisis léxico general (algo así como el Espíritu de arranque) llamado OpenToken . Para las tareas de cocina ligeramente más complejas, puede que le resulte útil.
No he trabajado con la encarnación moderna, pero cuando yo era el plomo en él el proyecto fue compilador agnóstica.