Initializing help system before first use

regreplace

regreplace


Purpose
Replace portions of a text string based on a regular expression.
Synopsis
function regreplace(src:text, regex:string, repl:string):integer
function regreplace(src:text, regex:string, repl:string, start:integer, flags:integer):integer
Arguments
src 
Text to process
regex 
Regular expression
repl 
Replacement string expression
start 
Position where to start the search
flags 
Search options:
REG_EXTENDED 
Use Extended Regular Expression syntax (ERE), default is to interpret the expression as a Basic Regular Expression (BRE)
REG_ICASE 
Comparison is performed case insensitive (by default it is case sensitive)
REG_NEWLINE 
The character newline ( \n) is treated as the end of line (by default it is handled as an ordinary symbol)
REG_NOTBOL 
The beginning of the text string is not the beginning of a line
REG_NOTEOL 
The end of the text string is not the end of a line
REG_ONCE 
Stop after the first replacement (by default the entire input string is processed)
Return value
The number of replacements performed.
Example
The following statement transforms dates expressed as year-month-day to dates in the form day/month/year
nbr:=regreplace(t,
      '([[:digit:]]{4})-([01]?[[:digit:]])-([0-3]?[[:digit:]])',
      '\3/\2/\1',1,REG_EXTENDED)
Further information
1. This function relies on the TRE library (see http://laurikari.net/tre). Please refer to the documentation of this library for a detailed description of the supported expression syntax.
2. In the replacement string repl the backslash character ( '\') has a special meaning: if followed by another baskslash character it is replaced by a single backslash; if followed by a digit it is replaced by the corresponding subexpression defined by the regular expression. The subexpression number 0 corresponds to the entire matching region.
Related topics
Module