28.6 String predicates

The following predicate function accept as arguments simple strings representing components of semantic–version specifications.

Function: mbfl_string_is_semver_major_number STR

Return true if STR is a valid representation of a major number specification; otherwise return false.

mbfl_string_is_semver_major_number '0'          ⇒ 0
mbfl_string_is_semver_major_number '12'         ⇒ 0

mbfl_string_is_semver_major_number '012'        ⇒ 1
mbfl_string_is_semver_major_number 'ciao'       ⇒ 1
mbfl_string_is_semver_major_number '1.2'        ⇒ 1
mbfl_string_is_semver_major_number '1 2'        ⇒ 1
Function: mbfl_string_is_semver_minor_number STR

Return true if STR is a valid representation of a minor number specification; otherwise return false.

mbfl_string_is_semver_minor_number '0'          ⇒ 0
mbfl_string_is_semver_minor_number '12'         ⇒ 0

mbfl_string_is_semver_minor_number '012'        ⇒ 1
mbfl_string_is_semver_minor_number 'ciao'       ⇒ 1
mbfl_string_is_semver_minor_number '1.2'        ⇒ 1
mbfl_string_is_semver_minor_number '1 2'        ⇒ 1
Function: mbfl_string_is_semver_patch_level STR

Return true if STR is a valid representation of a patch level specification; otherwise return false.

mbfl_string_is_semver_patch_level '0'           ⇒ 0
mbfl_string_is_semver_patch_level '12'          ⇒ 0

mbfl_string_is_semver_patch_level '012'         ⇒ 1
mbfl_string_is_semver_patch_level 'ciao'        ⇒ 1
mbfl_string_is_semver_patch_level '1.2'         ⇒ 1
mbfl_string_is_semver_patch_level '1 2'         ⇒ 1
Function: mbfl_string_is_semver_prerelease_version STR

Return true if STR is a valid representation of a prerelease version specification, without the leading dash ‘-’; otherwise return false.

mbfl_string_is_semver_prerelease_version '0'            ⇒ 0
mbfl_string_is_semver_prerelease_version '123'          ⇒ 0
mbfl_string_is_semver_prerelease_version 'ciao'         ⇒ 0
mbfl_string_is_semver_prerelease_version 'ciao-mamma'   ⇒ 0
mbfl_string_is_semver_prerelease_version '-'            ⇒ 0
mbfl_string_is_semver_prerelease_version '-----'        ⇒ 0

mbfl_string_is_semver_prerelease_version '010'          ⇒ 1
mbfl_string_is_semver_prerelease_version 'ciao_mamma'   ⇒ 1
mbfl_string_is_semver_prerelease_version '_'            ⇒ 1
mbfl_string_is_semver_prerelease_version '____'         ⇒ 1

mbfl_string_is_semver_prerelease_version 'ciao.0.mamma.1'       ⇒ 0
mbfl_string_is_semver_prerelease_version '0.ciao.1.mamma'       ⇒ 0
mbfl_string_is_semver_prerelease_version 'ciao.mamma.0.1'       ⇒ 0
mbfl_string_is_semver_prerelease_version 'ciao.-----.0.1'       ⇒ 0

mbfl_string_is_semver_prerelease_version 'ciao mamma.0.1'       ⇒ 1
mbfl_string_is_semver_prerelease_version 'ciao,mamma.0.1'       ⇒ 1
mbfl_string_is_semver_prerelease_version 'ciao mamma.0.1'       ⇒ 1
mbfl_string_is_semver_prerelease_version 'ciao_mamma.0.1'       ⇒ 1
mbfl_string_is_semver_prerelease_version 'ciao;mamma.0.1'       ⇒ 1
mbfl_string_is_semver_prerelease_version 'ciao.01'              ⇒ 1
Function: mbfl_string_is_semver_build_metadata STR

Return true if STR is a valid representation of a build metadata specification, without the leading plus ‘+’; otherwise return false.

mbfl_string_is_semver_build_metadata '0'        ⇒ 0
mbfl_string_is_semver_build_metadata '123'      ⇒ 0
mbfl_string_is_semver_build_metadata 'ciao'     ⇒ 0
mbfl_string_is_semver_build_metadata '0123'     ⇒ 0

mbfl_string_is_semver_build_metadata '01_23'    ⇒ 1
mbfl_string_is_semver_build_metadata '01,23'    ⇒ 1
mbfl_string_is_semver_build_metadata '01 23'    ⇒ 1

mbfl_string_is_semver_build_metadata '0.1.2'            ⇒ 0
mbfl_string_is_semver_build_metadata 'ciao.mamma.hey'   ⇒ 0
mbfl_string_is_semver_build_metadata 'ciao.0.mamma.1'   ⇒ 0
mbfl_string_is_semver_build_metadata '0.ciao.1.mamma'   ⇒ 0
Function: mbfl_string_is_semver_build_metadata_with_underscore STR

Return true if STR is a valid representation of a build metadata specification, without the leading plus ‘+’; otherwise return false. Accept underscore characters ‘_’ as valid, which is outside the specification.


This document describes version 3.0.0-devel.9 of Marcos Bash Functions Library.