Module: Puppet::Pops::Patterns

Defined in:


The Patterns module contains common regular expression patters for the Puppet DSL language

Constant Summary collapse


NUMERIC matches hex, octal, decimal, and floating point and captures several parts 0 = entire matched number, leading and trailing whitespace and sign included 1 = sign, +, - or nothing 2 = entire numeric part 3 = hexadecimal number 4 = non hex integer portion, possibly with leading 0 (octal) 5 = floating point part, starts with “.”, decimals and optional exponent

Thus, a hex number has group 3 value, an octal value has group 4 (if it starts with 0), and no group 3 and a floating point value has group 4 and group 5.


Special expression that tests if there is whitespace between sign and number. The expression is used to strip such whitespace when normal Float or Integer conversion fails.


ILLEGAL_P3_1_HOSTNAME matches if a hostname contains illegal characters. This check does not prevent pathological names like 'a.…b', '.….', “—”. etc.


NAME matches a name the same way as the lexer.


CLASSREF_EXT matches a class reference the same way as the lexer - i.e. the external source form where each part must start with a capital letter A-Z.


Same as CLASSREF_EXT but cannot start with '::'


CLASSREF matches a class reference the way it is represented internally in the model (i.e. in lower case).


Same as CLASSREF but cannot start with '::'


DOLLAR_VAR matches a variable name including the initial $ character


VAR_NAME matches the name part of a variable (The $ character is not included) Note, that only the final segment may start with an underscore. Note, regexp sensitive to backtracking


PARAM_NAME matches the name part of a parameter (The $ character is not included)


A Numeric var name must be the decimal number 0, or a decimal number not starting with 0