Las tres soluciones indicadas cubren necesidades muy diferentes.
Manual de análisis (búsqueda de texto simple) es el más flexible y el más adaptable, sin embargo, muy rápidamente se convierte en un verdadero dolor en el culo como el análisis requerido es más complicado.
Regex son un término medio, y probablemente su mejor apuesta aquí. Son potentes, pero flexibles, ya que usted mismo puede agregar más lógica del código que llama a las diferentes expresiones regulares. El principal inconveniente sería la velocidad aquí.
Lex/Yacc realmente sólo se adapta a muy complicados, sintaxis predecibles y carece de una gran cantidad de correos compilar flexibilidad. No se puede cambiar fácilmente el analizador en el análisis medio, bueno, en realidad se puede, pero es demasiado pesado y sería mejor usar regex en su lugar.
Sé que este es un cliché respuesta, realmente todo se reduce a lo que son sus necesidades exactas, pero por lo que ha dicho, personalmente, probablemente iría con una bolsa de expresiones regulares.
Como alternativa, como Vaibhav poionted a cabo, si tiene varias situaciones diferentes que pueden surgir y que detecta CNA fácilmente cuál se acerca, usted podría hacer un sistema de plugins que elige el algoritmo correcto, y los algoritmos todos podrían ser muy diferentes, uno usando Lex/Yacc en casos puntiagudos y el otro usando IndexOf y regex para casos más simples.
Escuché que Regex fue el responsable de encallar el muro de Berlín. –
Deberían dejar de usar armas nucleares en las películas de desastres. – Coincoin
Regex: la causa y la solución de todos los problemas de la vida. – MatthewKing