On 11/28/2011 11:35 PM, Robert Dailey wrote:
> I haven't really seen a way to get a list of group matches in a regex. For
> example, string( REGEX MATCH ) only returns the whole string matched, not
> just what was in the capture groups. If I do this:
> 
> (\\w+)\\,(\\w+)\\,(\\w+)
> 
> and I match that regex against this string:
> 
> hello,world,today
> 
> I should get a list with:
> 
> hello;world;today
> 
> How can I do this?

CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
PROJECT(REGEXREPLACE NONE)
STRING(REGEX REPLACE
    "([A-Za-z0-9_]+),([A-Za-z0-9_]+),([A-Za-z0-9_]+)"
    "\\1;\\2;\\3" RESULT "hello,world,today")
LIST(LENGTH RESULT n)
MESSAGE("n=${n}")
FOREACH(i IN LISTS RESULT)
    MESSAGE("${i}")
ENDFOREACH()

Regards,

Michael
--

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://www.cmake.org/mailman/listinfo/cmake

Reply via email to