cart-elc

Source code for CART-ELC
git clone git://git.laack.co/cart-elc.git
Log | Files | Refs | README | LICENSE

RegexUtils.cmake (910B)


      1 function(escape_string_as_regex _str_out _str_in)
      2   string(REGEX REPLACE "\\\\" "\\\\\\\\" FILETEST2 "${_str_in}")
      3   string(REGEX REPLACE "([.$+*?|-])" "\\\\\\1" FILETEST2 "${FILETEST2}")
      4   string(REGEX REPLACE "\\^" "\\\\^" FILETEST2 "${FILETEST2}")
      5   string(REGEX REPLACE "\\(" "\\\\(" FILETEST2 "${FILETEST2}")
      6   string(REGEX REPLACE "\\)" "\\\\)" FILETEST2 "${FILETEST2}")
      7   string(REGEX REPLACE "\\[" "\\\\[" FILETEST2 "${FILETEST2}")
      8   string(REGEX REPLACE "\\]" "\\\\]" FILETEST2 "${FILETEST2}")
      9   set(${_str_out} "${FILETEST2}" PARENT_SCOPE)
     10 endfunction()
     11 
     12 function(test_escape_string_as_regex)
     13   set(test1 "\\.^$-+*()[]?|")
     14   escape_string_as_regex(test2 "${test1}")
     15   set(testRef "\\\\\\.\\^\\$\\-\\+\\*\\(\\)\\[\\]\\?\\|")
     16   if(NOT test2 STREQUAL testRef)
     17 	message("Error in the escape_string_for_regex function : \n   ${test1} was escaped as ${test2}, should be ${testRef}")
     18   endif()
     19 endfunction()