regex_end(X;L;Y;I)

Returns the position following a particular match of a specified regular expression within a given string.

Syntax

regex_end(X;L;Y;I)

Input

Argument Type Description
X text A valid regular expression to search for in the string Y
L text A list of one or more string options. (L may be omitted.)

These options include:

  • 'icase' - ignore case
  • 'lit' - treat X as a literal string rather than a regular expression
  • 'nl' - treat the newline character as a line delimiter
  • 'ug' - default all operators to be ungreedy
  • 'right' - make matches right-associative
  • 'first' - find only the first match - this is also faster if it is necessary to determine if there is any match at all
  • 'tre' - use a TRE regex engine (default) (Available as of prod-9.)
  • 'pcre' - use a Perl Compatible Regular Expression (PCRE) engine (Available as of prod-9.)
The 'tre' and 'pcre' options refer to the back-end regex engine used for matching. If both options are specified, or if neither option is specified, the TRE engine will be used.
Note: The 'lit' and 'right' options cannot be used in conjunction with the 'pcre' option.
Y text The string within which to search for the regular expression X

A scalar value or the name of a column

I integer An index corresponding to a particular instance of the regular expression X within the given string Y

The index I is 1-based (i.e., the first match has index 1).

A negative index counts back from the end of the string (i.e., I=-1 refers to the last match).

Return Value

Returns the integer value corresponding to the position after the I'th match of the regular expression X within the string Y.

If Y is N/A, the result is N/A.

Sample Usage

regex options string index regex_end(regex;options;string;index)
'a(b|c|d)' 'Abracadabra' 1 6
'a(b|c|d)' 'icase' 'Abracadabra' -4 3
'a(b|c|d)' '' 1

Additional Information

  • 1010data supports POSIX standard regular expressions. See Regular Expressions for more information.