Necesito ayuda tratando de coincidir con un C incluyen archivo con ruta completa de esta manera:Expresión regular para que coincida con el archivo # include C
#include <stdio.h> -> stdio.h
#include "monkey/chicken.h" -> monkey/chicken.h
Hasta ahora he (adaptado de otra expresión que encontré):
^\s*\#include\s+(["'<])([^"'<>/\|\b]+)*([">])
Pero, estoy atascado en este punto - no coincide en el segundo caso, y no estoy seguro de cómo devolver el resultado del partido, por ejemplo, la ruta de archivo a regcomp ()
BTW He visto regexplib.com, pero no encuentro nada adecuado.
Editar: Si yo soy un novato total de expresión regular, usando expresiones regulares POSIX con regmatch_t y amigos ...
Tenga en cuenta que no puede haber espacios entre '#' y 'incluye'. Tenga en cuenta también que hay una tercera forma: #include MACRONAME. MACRONAME debe expandirse a o "algo". –
El término 'medio' con su clase de caracteres complejos excluye su segundo caso al decir "lo que está en el medio no debe incluir /". –