I'm using the latest version of the boost regex libraries and am receiving an exception when using the regex_replace function with the following regular expression: (?i)(?]+classid="clsid:[^>]+?(?[^*]+?<\s*/\ s*OBJECT\s*>)|(<\s*OBJECT\s*[^>]+classid=\s*\"clsid:[^/>]+/)) ..which works in other industry standard regex library routines. I seem to be failing on line 767 of basic_regex_creator.hpp. Any assistance is appreciated. Kindest regards, Michael Primeaux
Michael Primeaux wrote:
I'm using the latest version of the boost regex libraries and am receiving an exception when using the regex_replace function with the following regular expression:
(?i)(?]+classid="clsid:[^>]+?(?[^*]+?<\s*/\s*OBJECT\s*>)|(<\s*OBJECT\s*[^>]+classid=\s*\"clsid:[^/>]+/))
...which works in other industry standard regex library routines.
I seem to be failing on line 767 of basic_regex_creator.hpp.
Any assistance is appreciated.
If I had to guess, I'd say the problem is "(?
As you suspected, the variable-width negative look-behind was the issue. The Microsoft .NET Framework 2.0 supports variable width negative look-behind. Perhaps it's based on your work with GRETA? Again, I appreciate your time. Kindest regards, Michael Primeaux www.i-dynamics-corporation.com -----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Eric Niebler Sent: Tuesday, March 28, 2006 12:49 AM To: boost-users@lists.boost.org Subject: Re: [Boost-users] RegEx Exception Michael Primeaux wrote:
I'm using the latest version of the boost regex libraries and am receiving an exception when using the regex_replace function with the following regular expression:
(?i)(?]+classid="clsid:[^>]+?(?[^*]+? <\s*/\s*OBJECT\s*>)|(<\s*OBJECT\s*[^>]+classid=\s*\"clsid:[^/>]+/))
...which works in other industry standard regex library routines.
I seem to be failing on line 767 of basic_regex_creator.hpp.
Any assistance is appreciated.
If I had to guess, I'd say the problem is "(?http://lists.boost.org/mailman/listinfo.cgi/boost-users
I'm using the latest version of the boost regex libraries and am receiving an exception when using the regex_replace function with the following regular expression:
(?i)(?]+classid="clsid:[^>]+?(?[^*]+?<\s*/\ s*OBJECT\s*>)|(<\s*OBJECT\s*[^>]+classid=\s*\"clsid:[^/>]+/))
..which works in other industry standard regex library routines.
I seem to be failing on line 767 of basic_regex_creator.hpp.
That happens when you have a lookbehind expression that's not supported: as Eric has already pointed out Boost.Regex doesn't support variable width lookbehind, neither do PCRE or or Perl as far as I know. It's technically possible to do, although doing so efficiently is quite hard, and for questionable gain at present. HTH, John.
participants (3)
-
Eric Niebler
-
John Maddock
-
Michael Primeaux