11 Apr
2006
11 Apr
'06
11:32 a.m.
I'm trying to use the regex library in order to validate a generic URI according to the regular expression specified in RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax.
Here is the expression:
^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?
As far as I know this is a POSIX compliant regex. I'm building my regex with the following flags:
boost::regex::basic | boost::regex::icase
It's *not* a POSIX-basic expression (POSIX basic doesn't support parenthesis or the + operator). Use it as a POSIX-extended expression, or actually it'll work as a perl expression as well (and is likely to be more efficient as well). John.