module Puppet::Pops::Patterns
The Patterns
module contains common regular expression patters for the Puppet
DSL language
Constants
- CLASSREF
CLASSREF
matches a class reference the way it is represented internally in the model (i.e. in lower case).- CLASSREF_DECL
Same as
CLASSREF
but cannot start with '::'- CLASSREF_EXT
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.- CLASSREF_EXT_DECL
Same as
CLASSREF_EXT
but cannot start with '::'- DOLLAR_VAR
DOLLAR_VAR
matches a variable name including the initial $ character- ILLEGAL_HOSTNAME_CHARS
ILLEGAL_P3_1_HOSTNAME matches if a hostname contains illegal characters. This check does not prevent pathological names like 'a.…b', '.….', “—”. etc.
- NAME
NAME
matches a name the same way as the lexer.- NUMERIC
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 exponentThus, 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.
- NUMERIC_VAR_NAME
A Numeric var name must be the decimal number 0, or a decimal number not starting with 0
- PARAM_NAME
PARAM_NAME
matches the name part of a parameter (The $ character is not included)- VAR_NAME
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- WS_BETWEEN_SIGN_AND_NUMBER
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.