Potrzebuję pomocy próbując dopasować C to plik z pełną ścieżką tak:Wyrażenie regularne, aby dopasować C plik #include
#include <stdio.h> -> stdio.h
#include "monkey/chicken.h" -> monkey/chicken.h
Do tej pory (dostosowanym z innego wyrazu znalazłem):
^\s*\#include\s+(["'<])([^"'<>/\|\b]+)*([">])
Ale trochę utknęłam w tym punkcie - nie pasuje w drugim przypadku i nie jestem pewien, jak zwrócić wynik meczu, np. Ścieżka pliku z powrotem do regcomp ().
BTW Spojrzałem na regexplib.com, ale nie mogę znaleźć niczego odpowiedniego.
Edit: Tak, jestem w sumie regexp początkujących, używając POSIX regex z regmatch_t i przyjaciółmi ...
Należy pamiętać, że nie może być spacji między „#” i „obejmować”. Zauważ też, że istnieje trzecia forma: #include MACRONAME. MACRONAME musi rozwinąć się do lub "czegoś". –
Termin "środkowy" z jego złożoną klasą znaków wyklucza twoją drugą sprawę, mówiąc "to, co jest w środku, nie może zawierać /". –