I am looking for the most efficient open-source C++ regex library.
Reading this article: http://swtch.com/~rsc/regexp/regexp1.html - It seems that GNU awk is the best overall: http://pdos.csail.mit.edu/~rsc/regexp-img/grep1p.png
This is all true, but also completely irrelevant. DFA's have good worst case behaviour, but can be many times slower for common cases. It's also impossible to implement a DFA matcher that offers the full range of Perl regular expression features (if you think it can be done, congratulations, you've just proved that P==NP). It's also possible to protect the regex engine against runaway "bad" expressions and bail out in those cases (this is what Boost.Regex does, it throws an exception if the complexity of obtaining a match grows too fast).
How does the boost::regex library compare?
Would you recommend boost::regex as the most efficient one, or would you suggest another?
There's no such thing as best - it all depends on the data being searched and the particular regular expression. In addition since most Perl-compatible libraries use much the same algorithm they're all broadly similar albeit with different quirks. HTH, John.