[cmake-developers] [CMake 0014336]: REGEX REPLACE does not give correct results for a left anchor (^) combined with careted brackets
Mantis Bug Tracker
mantis at public.kitware.com
Sat Aug 3 02:18:00 EDT 2013
The following issue has been SUBMITTED.
======================================================================
http://www.cmake.org/Bug/view.php?id=14336
======================================================================
Reported By: irwin
Assigned To:
======================================================================
Project: CMake
Issue ID: 14336
Category: CMake
Reproducibility: always
Severity: minor
Priority: normal
Status: new
======================================================================
Date Submitted: 2013-08-03 02:18 EDT
Last Modified: 2013-08-03 02:18 EDT
======================================================================
Summary: REGEX REPLACE does not give correct results for a
left anchor (^) combined with careted brackets
Description:
# Test code to show the issue.
set(filename "whatever")
string(REGEX REPLACE "(^[e])" "/\\1" CATALOG_filename "${filename}")
message(STATUS "filename=${filename}")
message(STATUS "CATALOG_filename=${CATALOG_filename}")
string(REGEX REPLACE "(^[^e])" "/\\1" CATALOG_filename "${filename}")
message(STATUS "filename=${filename}")
message(STATUS "CATALOG_filename=${CATALOG_filename}")
The first REGEX REPLACE gives a correct result (no match because of the anchor
so no replacement is done) while the second REGEX REPLACE produces an incorrect
result (anchor ignored until the "e" is hit in whatever).
Steps to Reproduce:
Run the above code using cmake -P. The results are
-- filename=whatever
-- CATALOG_filename=whatever
-- filename=whatever
-- CATALOG_filename=/w/h/a/tever
That last one should be
-- CATALOG_filename=/whatever
because the anchor should limit the match to just the first character (so long
as that first character is not an "e" as in this case) so the "/" should be
prepended only to the first character.
======================================================================
Issue History
Date Modified Username Field Change
======================================================================
2013-08-03 02:18 irwin New Issue
======================================================================
More information about the cmake-developers
mailing list