cmake string examples

Signatures

string(FIND <string> <substring> <out-var> [...])
string(REPLACE <match-string> <replace-string> <out-var> <input>...)
string(REGEX MATCH <match-regex> <out-var> <input>...)
string(REGEX MATCHALL <match-regex> <out-var> <input>...)
string(REGEX REPLACE <match-regex> <replace-expr> <out-var> <input>...)
string(APPEND <string-var> [<input>...])
string(PREPEND <string-var> [<input>...])
string(CONCAT <out-var> [<input>...])
string(JOIN <glue> <out-var> [<input>...])
string(TOLOWER <string> <out-var>)
string(TOUPPER <string> <out-var>)
string(LENGTH <LENGTH_> <string> <out-var>)
string(SUBSTRING <string> <begin> <length> <out-var>)
string(STRIP <string> <out-var>)
string(GENEX_STRIP <string> <out-var>)
string(REPEAT <string> <count> <out-var>)
string(COMPARE <op> <string1> <string2> <out-var>)
string(<HASH> <out-var> <input>)
string(ASCII <number>... <out-var>)
string(HEX <string> <out-var>)
string(CONFIGURE <string> <out-var> [...])
string(MAKE_C_IDENTIFIER <string> <out-var>)
string(RANDOM [<option>...] <out-var>)
string(TIMESTAMP <out-var> [<format string>] [UTC])
string(UUID <out-var> ...)
string(JSON <out-var> [ERROR_VARIABLE <error-var>]
  {GET <JSON GET_> | TYPE <JSON TYPE_> | LENGTH <JSON LENGTH_> | REMOVE <JSON REMOVE_>}
<json-string> <member|index> [<member|index> ...])
string(JSON <out-var> [ERROR_VARIABLE <error-var>]
  MEMBER <JSON MEMBER_> <json-string>
[<member|index> ...] <index>)
string(JSON <out-var> [ERROR_VARIABLE <error-var>]
  SET <JSON SET_> <json-string>
<member|index> [<member|index> ...] <value>)
string(JSON <out-var> [ERROR_VARIABLE <error-var>]
  EQUAL <JSON EQUAL_> <json-string1> <json-string2>)

Examples

timi-liuliang/echo thirdparty/eigen-3.3.3/cmake/FindMPFR.cmake :55

string(REGEX MATCH "define[ \t]+MPFR_VERSION_MINOR[ \t]+([0-9]+)" _mpfr_minor_version_match "${_mpfr_version_header}")

u3d-community/U3D cmake/UrhoDiscover.cmake :77

string (REGEX MATCH "^CMAKE_ANDROID_ARCH_ABI:UNINITIALIZED=(.*)$" target ${VAR})

FreeCAD/FreeCAD cMake/FindEigen3.cmake :28

string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}")

godlikepanos/anki-3d-engine ThirdParty/SpirvTools/external/protobuf/cmake/install.cmake :73

string(REGEX MATCH "^[ \t]*${VARIABLE}[ \t]*=[ \t]*" _found "${_string}")

prusa3d/Prusa-Firmware cmake/ProjectVersion.cmake :72

string(REGEX MATCH "FW_COMMITNR +([0-9]+)" PROJECT_VERSION_COMMIT "${PROJECT_VERSION_COMMIT}")

bambulab/BambuStudio cmake/modules/Catch2/ParseAndAddCatchTests.cmake :126

string(REGEX MATCH "(CATCH_)?(TEST_CASE_METHOD|SCENARIO|TEST_CASE)" TestType "${TestTypeAndFixture}")

YutaItoh/3D-Eye-Tracker cmake/FindEigen.cmake :46

string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen_major_version_match "${_eigen_version_header}")

anhttran/3dmm_basic lib/3rdParty/Eigen/cmake/EigenTesting.cmake :567

string(REGEX MATCH "g\\+\\+"      ei_has_gpp    ${VERSTRING})

RavEngine/RavEngine deps/resonance-audio/third_party/eigen/cmake/EigenTesting.cmake :523

string(REGEX MATCH " [0-9]+\\.[0-9]+\\.[0-9]+" eicver ${VERSTRING})

cnr-isti-vclab/meshlab unsupported/plugins_unsupported/external/CoMISo/cmake/FindCoMISo.cmake :112

STRING(REGEX MATCH "\#define COMISO_MUMPS_AVAILABLE 1" COMISO_MUMPS_BUILD_TIME_AVAILABLE ${CURRENT_COMISO_CONFIG} )

overte-org/overte cmake/macros/GenerateEntityProperties.cmake :215

string(REGEX MATCH ".*variableCopyGetter:+([A-Z0-9a-z_<>::\/\.\"\(\)\+\-]+)( |,)" ENTITY_VARIABLE_COPY_GETTER ${LINE})

PDAL/PDAL cmake/gdal.cmake :6

string(REGEX MATCH "GDAL_VERSION_MAJOR[\t ]+([0-9]+)" _ ${versionfile})

nextcloud/desktop cmake/modules/ECMAddAppIcon.cmake :400

string(REGEX MATCH "([0-9]+)\\-[^/]+\\.([a-z]+)$"
                               _dummy "${icon_name}")

etternagame/etterna extern/filesystem/test/cmake/ParseAndAddCatchTests.cmake :126

string(REGEX MATCH "(CATCH_)?(TEST_CASE_METHOD|SCENARIO|TEST_CASE)" TestType "${TestTypeAndFixture}")

NREL/OpenStudio ProjectMacros.cmake :192

string(REGEX MATCH "OpenStudioUtilities" IS_UTILTIES "${NAME}")

KDE/digikam core/cmake/modules/FindEigen3.cmake :35

string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}")

pcb9382/FaceAlgorithm include/Eigen/cmake/FindMetis.cmake :26

string(REGEX MATCH "define[ \t]+METIS_VER_SUBMINOR[ \t]+([0-9]+)" _metis_subminor_version_match "${_metis_version_header}")

Kitware/kwiver vital/kwiversys/CMakeLists.txt :284

STRING(REGEX MATCH "-timplicit_local"
      KWSYS_CXX_FLAGS_HAVE_IMPLICIT_LOCAL "${CMAKE_CXX_FLAGS}")

RSIA-LIESMARS-WHU/LSHBOX include/eigen/cmake/EigenTesting.cmake :373

string(REGEX MATCH " [0-9]+\\.[0-9]+" eicver ${VERSTRING})

nojhan/paradiseo cmake/module/FindEigen3.cmake :6

string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}")

liminchen/OptCuts ext/libigl/external/cgal/src/CGAL_Project/cmake/modules/FindEigen3.cmake :39

string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}")

KhronosGroup/Vulkan-Samples app/plugins/CMakeLists.txt :32

string(REGEX MATCH "_([a-zA-Z])[^_]+" HAS_UNDER_SCORES "${SNAKE_CASE}")

PrismLauncher/PrismLauncher cmake/vcpkg-ports/vcpkg-tool-meson/vcpkg-port-config.cmake :53

string(REGEX MATCH [[[0-9]+\.[0-9]+\.[0-9]+]] python_ver "${version_contents}")

openvinotoolkit/openvino cmake/developer_package/tbb/mac/TBBConfig.cmake :60

string(REGEX MATCH "TBB_VERSION_MINOR[ ]*[0-9]" _tbb_version_minor ${_tbb_def_content})

JSBSim-Team/jsbsim tests/unit_tests/CMakeModules/FindGcov.cmake :32

string(REGEX MATCH "^[0-9]+" GCC_VERSION
				"${CMAKE_${LANG}_COMPILER_VERSION}")

GPUOpen-Archive/Anvil deps/glslang/ChooseMSVCCRT.cmake :31

string(REGEX MATCH "${${regex}}" ${crt_current} "${${flagsvar}}")

NVIDIA/MatX public/cpm-cmake/examples/asio-standalone/CMakeLists.txt :34

string(REGEX MATCH "^([0-9]+)" verMajor ${ver})

w111liang222/lidar-slam-detection slam/thirdparty/fast_gicp/thirdparty/Eigen/CMakeLists.txt :33

string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen_major_version_match "${_eigen_version_header}")

LiangliangNan/MVStudio 3rd_party/nlopt/cmake/FindNumPy.cmake :62

string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" _VER_CHECK "${NUMPY_VERSION}")

OSVR/SteamVR-OSVR vendor/eigen-3.2.4/CMakeLists.txt :33

string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen_major_version_match "${_eigen_version_header}")

Tulip-Dev/tulip cmake/FindSphinx.cmake :28

STRING(REGEX MATCH "[0-9]" PYTHON_VERSION_MAJOR "${PYTHON_VERSION_RAW}")

NERSC/timemory cmake/Modules/MacroUtilities.cmake :152

string(REGEX MATCH "${APPEND}" _MATCH "${${VAR}}")

ceph/ceph cmake/modules/Findutf8proc.cmake :33

string(REGEX MATCH "[0-9]+$" UTF8PROC_MINOR_VERSION
                 "${UTF8PROC_MINOR_VERSION_DEFINITION}")

apache/trafficserver lib/Catch2/extras/ParseAndAddCatchTests.cmake :137

string(REGEX MATCH "(CATCH_)?(TEMPLATE_)?(TEST_CASE_METHOD|SCENARIO|TEST_CASE)" TestType "${TestTypeAndFixture}")

STEllAR-GROUP/hpx CMakeLists.txt :2422

string(REGEX MATCH "^release-[0-9]+.[0-9]+.X$" matched ${HPX_WITH_GIT_BRANCH})

YosysHQ/nextpnr 3rdparty/sanitizers-cmake/cmake/sanitize-helpers.cmake :55

string(REGEX MATCH "TARGET_OBJECTS:([^ >]+)" _file ${FILE})

steemit/steem libraries/fc/CMakeModules/VersionMacros.cmake :34

STRING( REGEX MATCH "${def_itr}[ \t\":]+[0-9]+(.[0-9]+)?(.[0-9]+)?"
                    ${version} ${string} )

brndnmtthws/conky 3rdparty/Vc/cmake/VcMacros.cmake :70

string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" Vc_CLANG_VERSION "${Vc_CLANG_VERSION}")

root-project/root cmake/modules/CheckAssembler.cmake :16

string(REGEX MATCH "[1-9]\\.[0-9]+(\\.[0-9]+)?" _as_version "${_as_version}")

webcamoid/webcamoid libAvKys/cmake/ProjectCommons.cmake :255

string(REGEX MATCH "[0-9]+" DEFAULT_ANDROID_TARGET_PLATFORM "${DEFAULT_JAR_FILE}")

google/filament third_party/spirv-tools/cmake/write_pkg_config.cmake :17

string(
REGEX
  MATCH "v[0-9]+(.[0-9]+)?(-dev)? [0-9]+-[0-9]+-[0-9]+"
  FIRST_VERSION_LINE
  ${CHANGES_CONTENT})

elemental/Elemental cmake/modules/FindGMP.cmake :42

string(REGEX MATCH
      "define[ \t]+__GNU_MP_VERSION[ \t]+([0-9]+)" _gmp_major_version_match
      "${_gmp_version_header}")

percona/percona-xtrabackup cmake/rapidjson.cmake :57

STRING(REGEX MATCH "([0-9])"
    RAPIDJSON_MAJOR_VERSION_NUMBER "${RAPIDJSON_MAJOR_VERSION_NUMBER}")

NREL/EnergyPlus third_party/eigen/cmake/EigenTesting.cmake :590

string(REGEX MATCH " [0-9]+\\.[0-9]+\\.[0-9]+" eicver ${VERSTRING})

robotology/yarp cmake/YarpIDL.cmake :391

string(REGEX MATCH "^(enum|struct|service)[ \t\n]+([^ \t\n{]+)" unused ${object})

zdzhaoyong/GSLAM cmake/FindEigen3.cmake :39

string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}")

apache/qpid-proton go/CMakeLists.txt :22

string(REGEX MATCH "go[0-9]+.[0-9]+[0-9]*" GO_VERSION "${go_ver}")

LunarG/gfxreconstruct CMakeLists.txt :75

string(REGEX MATCH "^vulkan-sdk-[0-9]+\.[0-9]+\.[0-9]+$" GIT_IS_SDK ${GIT_BRANCH})

intel/libvpl api/CMakeLists.txt :19

string(REGEX MATCH "MFX_VERSION_MAJOR ([0-9]*)" _ ${mfxdefs})

MRPT/mvsim modules/comms/CMakeLists.txt :40

string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)" PYBIND11_VERSION_MATCH ${pybind11_VERSION})

stephenberry/glaze CMakeLists.txt :23

string(REGEX MATCH "\/cl(.exe)?$" matched_cl ${CMAKE_CXX_COMPILER})

OSVR/OSVR-Core cmake-local/FindEigen3.cmake :41

string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}")

d1vanov/quentier cmake/modules/QuentierDoxygen.cmake :12

STRING(REGEX MATCH "^[a-zA-Z]([^ ])+" DOXY_PARAM ${LINE})

mysql/mysql-connector-cpp buildinfo.cmake :192

STRING(REGEX MATCH " [^ ]+" GIT_BRANCH_NAME $ENV{BRANCH_SOURCE})

vseasky/VersaAssistant assimp/cmake-modules/CoverallsGenerateGcov.cmake :366

string(REGEX MATCH "LCOV_EXCL_LINE" LINE_SKIP "${GCOV_LINE}")

asset-group/5ghoul-5g-nr-attacks libs/libzmq/CMakeLists.txt :312

string(REGEX MATCH "^([0-9]+)" verMajor ${ver})

rAthenaCN/rAthenaCN 3rdparty/rapidyaml/ext/c4core/cmake/c4Project.cmake :1132

string(REGEX MATCH "v?([0-9]+)([\._][0-9]+)([\._][0-9]+)(.*)" match "${tag}")

KiCad/kicad-source-mirror cmake/FindHarfBuzz.cmake :88

string(REGEX MATCH "#define +HB_VERSION_STRING +\"([0-9]+\.[0-9]+\.[0-9]+)\"" _dummy "${_harfbuzz_version_content}")

KDE/kid3 android/qt-android-cmake/toolchain/android.toolchain.cmake :552

string( REGEX MATCH "[0-9]+[.][0-9]+([.][0-9x]+)?$" __version "${__gcc_toolchain}" )

fooyin/fooyin cmake/modules/FindTaglib.cmake :59

string(REGEX MATCH "#define TAGLIB_PATCH_VERSION[ ]+[0-9]+"
                 TAGLIB_PATCH_VERSION_MATCH ${TAGLIB_H})

llvm-dcpu16/llvm-dcpu16 cmake/modules/ChooseMSVCCRT.cmake :39

string(REGEX MATCH "${${regex}}" current_flag "${${flagsvar}}")

supertuxkart/stk-code lib/wiiuse/cmake/GetCompilerInfoString.cmake :132

string(REGEX
		MATCH
		"([.0-9]+)"
		"\\1"
		_compilerinfo_COMPILER_VERSION
		"${_compilerinfo_COMPILER_VERSION}")

flux-framework/flux-sched external/catch2/CMake/Findcodecov.cmake :157

string(REGEX MATCH "TARGET_OBJECTS:([^ >]+)" _source ${FILE})

torrent-file-editor/torrent-file-editor cmake/QtMajorVersion.cmake :18

string(REGEX MATCH "[0-9]+" QT_MAJOR_VERSION "${QT_VERSION_STRING}")

qtfreet00/llvm-obfuscator cmake/modules/AddOCaml.cmake :92

string(REGEX MATCH "(^| )[/-][UD] *NDEBUG($| )" flag_matches
         "${CMAKE_C_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${CMAKE_C_FLAGS}")

yrnkrn/zapcc cmake/config-ix.cmake :409

string(REGEX MATCH "^[^-]*" LLVM_NATIVE_ARCH ${LLVM_HOST_TRIPLE})

Dreamtowards/Ethertia lib/json-nlohmann-3.11.2/cmake/ci.cmake :35

string(REGEX MATCH "[0-9]+(\\.[0-9]+)+" GCC_TOOL_VERSION "${GCC_TOOL_VERSION}")

nwnxee/unified NWNXLib/External/tracy/tracy-0.10/version.cmake :19

string(REGEX MATCH "Patch = ([0-9]+)" _ ${version})

rbfx/rbfx CMake/Modules/CheckCompilerToolchain.cmake :75

string (REGEX MATCH "\\(.*\\)" captured "${REGEX}")

InsightSoftwareConsortium/ITK Modules/ThirdParty/KWSys/src/KWSys/CMakeLists.txt :317

string(REGEX MATCH "-timplicit_local"
      KWSYS_CXX_FLAGS_HAVE_IMPLICIT_LOCAL "${CMAKE_CXX_FLAGS}")

ComputationalBiomechanicsLab/opensim-creator third_party/OpenBLAS/cmake/utils.cmake :178

string(REGEX MATCH "ifneq \\(\\$\\(([0-9_A-Z]+)\\),[ \t]*(\\$\\(([0-9_A-Z]+)\\)|([0-9_A-Z]+))\\)" line_match "${makefile_line}")

logicalclocks/rondb cmake/copy_openssl_binary.cmake :86

STRING(REGEX MATCH "[ ]*([.a-zA-Z0-9/@_]+.dylib).*" UNUSED "${LINE}")

Stellarium/stellarium cmake/modules/FindGPS.cmake :85

STRING(REGEX MATCH "MAJOR_VERSION[ \t]+([0-9]+)" _version_major ${_version_lines})

aliakseis/LIII cmake/testing.cmake :49

string(REGEX MATCH ".+\\.cpp" SRCMATCH ${SRC})

chsl/PLADE code/3rd_party/opencv/cmake/OpenCVDetectCUDA.cmake :122

string(REGEX MATCH "1.0" HAS_ARCH_10 "${CUDA_ARCH_BIN} ${CUDA_ARCH_PTX}")

ornladios/ADIOS2 thirdparty/KWSys/adios2sys/CMakeLists.txt :319

string(REGEX MATCH "-timplicit_local"
      KWSYS_CXX_FLAGS_HAVE_IMPLICIT_LOCAL "${CMAKE_CXX_FLAGS}")

definelicht/hlslib cmake/FindVitis.cmake :356

string(REGEX MATCH "[A-Za-z0-9_]+\\.[^: \t\n]+:[^: \t\n]+" HAS_KERNEL_NAME ${MAPPING})

fktn-k/fkYAML tools/iwyu/CMakeLists.txt :12

string(REGEX MATCH "[0-9]+(\\.[0-9]+)+" IWYU_TOOL_VERSION "${IWYU_TOOL_VERSION}")

CMU-Perceptual-Computing-Lab/caffe_rtpose cmake/Cuda.cmake :193

string(REGEX MATCH "define CUDNN_MINOR * +([0-9]+)"
           CUDNN_VERSION_MINOR "${CUDNN_VERSION_FILE_CONTENTS}")

boutproject/BOUT-dev cmake/FindSUNDIALS.cmake :109

string(REGEX MATCH ${SUNDIALS_VERSION_REGEX_PATTERN} _ "${SUNDIALS_CONFIG_FILE}")

sxs-collaboration/spectre cmake/FindScotch.cmake :39

string(REGEX MATCH "${SCOTCH_MAJOR_PREFIX}[0-9]+"
  SCOTCH_MAJOR_VERSION "${SCOTCH_FIND_HEADER_CONTENTS}")

speedb-io/speedb cmake/modules/ReadSpeedbVersion.cmake :6

string(REGEX MATCH "#define SPEEDB_${component} ([0-9]+)" _ ${version_header_file})

kpeeters/cadabra2 libs/pybind11/tools/FindEigen3.cmake :36

string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match
               "${_eigen3_version_header}")

plstcharles/litiv cmake/Modules/FindEigen3.cmake :41

string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}")

snl-dakota/dakota cmake/DakotaSplitEnvironmentLinkTxt.cmake :6

string(REGEX MATCH "packages/external/DDACE/src -Wl,-rpath,/"
  already_fixed ${link_txt})

wxWidgets/wxWidgets CMakeLists.txt :57

string (REGEX MATCH "([0-9]+)"
    wxMAJOR_VERSION ${wxMAJOR_VERSION})

open-license-manager/licensecc cmake/target_arch.cmake :120

string(REGEX MATCH "cmake_ARCH ([a-zA-Z0-9_]+)" ARCH "${ARCH}")

INET-RC/GeoMX 3rdparty/openmp/runtime/cmake/LibompGetArchitecture.cmake :60

string(REGEX MATCH "ARCHITECTURE=([a-zA-Z0-9_]+)" local_architecture "${local_architecture}")

facebook/mysql-5.6 run_doxygen.cmake :127

STRING(REGEX MATCH "^.*\\.dia --> dia_.*\\.png\$" DIA_STATUS "${LINE}")

bdon/OSMExpress cmake/FindLMDB.cmake :28

string(REGEX MATCH "MDB_VERSION_MAJOR[\t ]+([0-9]+)[\t ]*" _ ${ver})

polardb/polardbx-engine CMakeLists.txt :1644

STRING(REGEX MATCH  "^([0-9])"
        ALTERNATIVE_GCC_MAJ_VER ${CMAKE_C_COMPILER_VERSION})

lighttransport/tinyusdz src/external/pybind11/tools/FindEigen3.cmake :36

string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match
               "${_eigen3_version_header}")

MhLiao/RRD cmake/Cuda.cmake :204

string(REGEX MATCH "define CUDNN_PATCHLEVEL * +([0-9]+)"
           CUDNN_VERSION_PATCH "${CUDNN_VERSION_FILE_CONTENTS}")

eric612/Caffe-YOLOv3-Windows cmake/CaffeGetPrerequisites.cmake :872

string(REGEX MATCH "[^\n ].*[^\n ]" gp_install_id "${gp_install_id}")

luczeng/HoughRectangle third_party/Catch2/CMake/Findcodecov.cmake :196

string(REGEX MATCH "TARGET_OBJECTS:([^ >]+)" _file ${FILE})

PaddlePaddle/Paddle test/CMakeLists.txt :17

string(REGEX MATCH "_deprecated\.py$" DEPRECATED_MODULES
                 "${py_test_modules_MODULES}")

TeXworks/texworks CMakeLists.txt :105

STRING(REGEX MATCH "([0-9]+)" TeXworks_VER_MINOR ${TeXworks_VER_MINOR})

weigao95/surfelwarp external/eigen3.4/CMakeLists.txt :36

string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen_world_version_match "${_eigen_version_header}")

hyle-team/zano contrib/db/libmdbx/cmake/utils.cmake :129

string(REGEX MATCH "^(v)?([0-9]+)\\.([0-9]+)(.*)?" git_version_valid "${${name}_GIT_DESCRIBE}")

feelpp/feelpp feelpp/cmake/modules/feelpp.directive.cmake :45

string( REGEX MATCH "FEELPP_HAS_([a-zA-Z0-9]+)$" OPT ${opts} )