Regex Matching

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Regex Matching

Andrew Bell
Hi,

Can someone please explain the cmake regex matching rules?

The following returns true:

if ("This is a test" MATCHES "test")

I would have expected to have needed something like this to get a match:

if ("This is a test" MATCHES ".*test")

Does cmake always search for a subexpression?  Is there some way to prevent this behaivor?

Thanks,

-- 
Andrew Bell

--

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: Regex Matching

Nils Gladitz-2
On 23.08.2017 22:21, Andrew Bell wrote:

> Hi,
>
> Can someone please explain the cmake regex matching rules?
>
> The following returns true:
>
> if ("This is a test" MATCHES "test")
>
> I would have expected to have needed something like this to get a match:
>
> if ("This is a test" MATCHES ".*test")
>
> Does cmake always search for a subexpression?  Is there some way to
> prevent this behaivor?

The regex syntax is documented here:
https://cmake.org/cmake/help/latest/command/string.html#regex-specification

if ("This is a test" MATCHES "^test")

Would match "test" only at the beginning of the input.

Nils
--

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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