^\s*\#include\s+["<]([^">]+)*[">] You then want to look at the first capture group when you get a match. You don't say what language you're using, the factor you mention regcomp() leads me to believe that you're using POSIX regex library in C. If that's right, then you want to use the regexec function and use the nmatch and pmatch parameters to get the first capture group.