Sha256: 8f4c4e638c756482f262adaa5cd2d41cfb109c16bf928284931c5e4292fa94d5

Contents?: true

Size: 1.34 KB

Versions: 20

Compression:

Stored size: 1.34 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

20 entries across 20 versions & 1 rubygems

Version Path
puppet-8.3.0 lib/puppet/parser/functions/match.rb
puppet-8.3.0-x86-mingw32 lib/puppet/parser/functions/match.rb
puppet-8.3.0-x64-mingw32 lib/puppet/parser/functions/match.rb
puppet-8.3.0-universal-darwin lib/puppet/parser/functions/match.rb
puppet-8.3.1 lib/puppet/parser/functions/match.rb
puppet-8.3.1-x86-mingw32 lib/puppet/parser/functions/match.rb
puppet-8.3.1-x64-mingw32 lib/puppet/parser/functions/match.rb
puppet-8.3.1-universal-darwin lib/puppet/parser/functions/match.rb
puppet-8.2.0 lib/puppet/parser/functions/match.rb
puppet-8.2.0-x86-mingw32 lib/puppet/parser/functions/match.rb
puppet-8.2.0-x64-mingw32 lib/puppet/parser/functions/match.rb
puppet-8.2.0-universal-darwin lib/puppet/parser/functions/match.rb
puppet-8.1.0 lib/puppet/parser/functions/match.rb
puppet-8.1.0-x86-mingw32 lib/puppet/parser/functions/match.rb
puppet-8.1.0-x64-mingw32 lib/puppet/parser/functions/match.rb
puppet-8.1.0-universal-darwin lib/puppet/parser/functions/match.rb
puppet-8.0.1 lib/puppet/parser/functions/match.rb
puppet-8.0.1-x86-mingw32 lib/puppet/parser/functions/match.rb
puppet-8.0.1-x64-mingw32 lib/puppet/parser/functions/match.rb
puppet-8.0.1-universal-darwin lib/puppet/parser/functions/match.rb