summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/functions/regsubst.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/parser/functions/regsubst.rb')
-rw-r--r--lib/puppet/parser/functions/regsubst.rb66
1 files changed, 22 insertions, 44 deletions
diff --git a/lib/puppet/parser/functions/regsubst.rb b/lib/puppet/parser/functions/regsubst.rb
index 7499faaee..c79983351 100644
--- a/lib/puppet/parser/functions/regsubst.rb
+++ b/lib/puppet/parser/functions/regsubst.rb
@@ -1,60 +1,38 @@
module Puppet::Parser::Functions
newfunction(:regsubst, :type => :rvalue,
- :doc => "Perform regexp replacement on a string.
+ :doc => "
+ Perform regexp replacement on a string. Parameters (in order):
- Parameters (in order):
+:str: The string to operate on.
- :str:
- The string to operate on.
+:regexp: The regular expression matching the string. If you want it anchored at the start and or end of the string, you must do that with ^ and $ yourself.
- :regexp:
- The regular expression matching the string. If you want it
- anchored at the start and/or end of the string, you must do
- that with ^ and $ yourself.
+:replacement: Replacement string. Can contain back references to what was matched using 0, 1, and so on.
- :replacement:
- Replacement string. Can contain back references to what was
- matched using \\0, \\1, and so on.
+:flags: Optional. String of single letter flags for how the regexp is interpreted:
- :flags:
- Optional. String of single letter flags for how the regexp
- is interpreted:
+ - **E** Extended regexps
+ - **I** Ignore case in regexps
+ - **M** Multiline regexps
+ - **G** Global replacement; all occurrences of the regexp in the string will be replaced. Without this, only the first occurrence will be replaced.
- - **E**
- Extended regexps
- - **I**
- Ignore case in regexps
- - **M**
- Multiline regexps
- - **G**
- Global replacement; all occurances of the regexp in
- the string will be replaced. Without this, only the
- first occurance will be replaced.
+:lang: Optional. How to handle multibyte characters. A single-character string with the following values:
+
+ - **N** None
+ - **E** EUC
+ - **S** SJIS
+ - **U** UTF-8
- :lang:
- Optional. How to handle multibyte characters. A
- single-character string with the following values:
+**Examples**
- - **N**
- None
- - **E**
- EUC
- - **S**
- SJIS
- - **U**
- UTF-8
+Get the third octet from the node's IP address::
- **Examples**
+ $i3 = regsubst($ipaddress,'^([0-9]+)[.]([0-9]+)[.]([0-9]+)[.]([0-9]+)$','\\3')
- Get the third octet from the node's IP address: ::
+Put angle brackets around each octet in the node's IP address::
- $i3 = regsubst($ipaddress,
- '^([0-9]+)[.]([0-9]+)[.]([0-9]+)[.]([0-9]+)$',
- '\\\\3')
-
- Put angle brackets around each octet in the node's IP address: ::
-
- $x = regsubst($ipaddress, '([0-9]+)', '<\\\\1>', 'G')") \
+ $x = regsubst($ipaddress, '([0-9]+)', '<\\1>', 'G')
+") \
do |args|
flag_mapping = {
"E" => Regexp::EXTENDED,