On 11/23/2011 12:43 PM, Brad King wrote:
> On 11/23/2011 12:34 PM, Alexandru Ciobanu wrote:
>> The regex in question is:
>>     ^[^][:/*?]+\$
>> 
>> And it appears at this location in the ITK source tree:
>>     CMake/ExternalData.cmake:347
>> 
>> And the expression is correct, because you're allowed to have the ]
>> metacharacter inside a [^xyz] class if it comes immediately after ^.
> 
> Ironically I was the one that wrote that regex ;)
> 
>> TRE does not do it the same way, see
>> (http://laurikari.net/tre/documentation/regex-syntax/ the "Bracket
>> expressions" section):

Wait, that documentation does say the same thing:

 bracket-expression ::= "[" item+ "]"
                    |   "[^" item+ "]"

 "To include a literal ] in the list, make it either the first item"

That's exactly what this regex does.  It uses the second production
rule in the above grammar fragment and puts the ']' first after '^'.

-Brad
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to