Sha256: 13e37e33e10c5edd9cbdd8980807c1cc55bc2dc10fa08f10291dc9ac154f4132

Contents?: true

Size: 1.48 KB

Versions: 4

Compression:

Stored size: 1.48 KB

Contents

# frozen_string_literal: true

Puppet::Parser::Functions::newfunction(
  :match,
  :arity => 2,
  :doc => <<~DOC
    Matches a regular expression against a string and returns an array containing the match
    and any matched capturing groups.
    
    The first argument is a string or array of strings. The second argument is either a
    regular expression, regular expression represented as a string, or Regex or Pattern
    data type that the function matches against the first argument.
    
    The returned array contains the entire match at index 0, and each captured group at
    subsequent index values. If the value or expression being matched is an array, the
    function returns an array with mapped match results.
    
    If the function doesn't find a match, it returns 'undef'.
    
    **Example**: Matching a regular expression in a string
    
    ~~~ ruby
    $matches = "abc123".match(/[a-z]+[1-9]+/)
    # $matches contains [abc123]
    ~~~
    
    **Example**: Matching a regular expressions with grouping captures in a string
    
    ~~~ ruby
    $matches = "abc123".match(/([a-z]+)([1-9]+)/)
    # $matches contains [abc123, abc, 123]
    ~~~
    
    **Example**: Matching a regular expression with grouping captures in an array of strings
    
    ~~~ ruby
    $matches = ["abc123","def456"].match(/([a-z]+)([1-9]+)/)
    # $matches contains [[abc123, abc, 123], [def456, def, 456]]
    ~~~
    
    - Since 4.0.0
  DOC
) do |_args|
  Puppet::Parser::Functions::Error.is4x('match')
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puppet-8.4.0 lib/puppet/parser/functions/match.rb
puppet-8.4.0-x86-mingw32 lib/puppet/parser/functions/match.rb
puppet-8.4.0-x64-mingw32 lib/puppet/parser/functions/match.rb
puppet-8.4.0-universal-darwin lib/puppet/parser/functions/match.rb