diff --git a/cmake/modules/DuneMacros.cmake b/cmake/modules/DuneMacros.cmake
index 2266ebe5d27b946f624a98775326dd956967fc9a..42051ca74822fd90183270f9d72446e69d98d9e2 100644
--- a/cmake/modules/DuneMacros.cmake
+++ b/cmake/modules/DuneMacros.cmake
@@ -284,12 +284,12 @@ endmacro(extract_line)
 # into list of modules and list of versions
 #
 macro(split_module_version STRING MODULES VERSIONS)
-  set(REGEX "[a-zA-Z-]+[ ]*(\\([ ]*([^ ]+)?[ ]*[^ ]+[ ]*\\))?")
+  set(REGEX "[a-zA-Z0-9-]+[ ]*(\\([ ]*([^ ]+)?[ ]*[^ ]+[ ]*\\))?")
   string(REGEX MATCHALL "${REGEX}" matches "${STRING}")
   set(${MODULES} "")
   set(${VERSIONS} "")
   foreach(i ${matches})
-    string(REGEX REPLACE "^([a-zA-Z-]+).*$" "\\1" mod ${i})
+    string(REGEX REPLACE "^([a-zA-Z0-9-]+).*$" "\\1" mod ${i})
     string(REGEX MATCH "\\([ ]*(([^ ]+)?[ ]*[^ ]+)[ ]*\\)" have_version
       ${i})
     if(have_version)
@@ -309,7 +309,7 @@ endmacro(split_module_version)
 # Convert a string with spaces in a list which is a string with semicolon
 #
 function(convert_deps_to_list var)
-  string(REGEX REPLACE "([a-zA-Z\\)]) ([a-zA-Z])" "\\1;\\2" ${var} ${${var}})
+  string(REGEX REPLACE "([a-zA-Z0-9\\)]) ([a-zA-Z0-9])" "\\1;\\2" ${var} ${${var}})
   set(${var} ${${var}} PARENT_SCOPE)
 endfunction(convert_deps_to_list var)