ReplaceAll Method (REGEX)


 

The ReplaceAll method is used to replace all matching substrings using the stored regular expression in the associated PL/B REGEX object. This method uses the following format:

 

 

[label]

{object}.ReplaceAll

[GIVING {return}] USING [*Text=]{text}:

 

 

[*Value=]{value}[:

 

 

[*Options=]{options}]

 

Where:

label

Optional. A Program Execution Label.

object

Required. A REGEX object previously declared.

return

Optional. A Character String Variable that returns the text with all matches replaced.

text

Required. A Character String Variable or literal that specifies the text to examine.

value

Required. A Character String Variable or literal that specifies the replacement text.

options

Optional. A decimal number or Numeric Variable that has a bit mask value described below.

Flags Affected: EOS, OVER, ZERO

Notes:

  1. The EOS flag is set if the returned data string is larger than the DIM variable used to receive the data.

  2. The OVER and ZERO Condition Flags are always cleared.

  3. The {text} parameter contains the character string to be searched.

  4. The search pattern used is the currently compiled pattern.

  5. The {value} parameter contains the replacement text.

  6. The {value} parameter may be empty to remove every matched substring.

  7. The {value} parameter replacement text supports \0, \1..\9, $0, $1..$9, ${n}, $$, \&, \\ and & .

  8. The {return} value is the {text} parameter with all matches replaced.

  9. A zero-length match counts as a match.

  10. If no match is found, the original {text} parameter is returned unchanged.

  11. If no matches are found the GetMatch method will return an empty string.

  12. If a match is found the GetMatch method will return the last replaced substring.

  13. The {options} bit mask values found in plbmeth.inc are defined as follows:

  14.  

    Equate

    Value

    Description

    $REGEX_OPT_NOCASE

    1

    Case-insensitive (ASCII A-Z only)

    $REGEX_OPT_MULTILINE

    8

    ^ and $ also match at line breaks

    $REGEX_OPT_DOTALL

    16

    . also matches CR and LF

    $REGEX_OPT_NOTEMPTY

    32

    Reject empty (zero-length) matches

  15. The {options} given to Compile method also apply.

 

Example 1:

 

      RegEx1.Compile Giving N Using "Alice"

      RegEx1.ReplaceAll Giving S Using "Alice Smith and Alice Jones","Bob"

 

See Also: Method Syntax, REGEX, Regular Expression Support



PL/B Language Reference