REFind()

Uses a regular expression (RE) to search a string for a pattern.

The search is case sensitive.

REFind( reg_expression=string, string=string, start=number, returnsubexpressions=boolean, scope=string, multiline=boolean );

Returns: any

Argument Description Default
reg_expression
string, required

Regular expression for which to search. Case sensitive.

string
string, required

String in which to search.

start
number, optional

A positive integer. Position in the string at which to start search. The default value is 1.

1

returnsubexpressions
boolean, optional

Default: false, If set true means returns the result as a struct with keys pos, match and len.

Each are an array with elements for the position and length of the match (first element), and the position and length of any matched subexpressions in the subsequent elements.

scope
string, optional

One: (Default)Returns the first value that matches the regex

All: Returns all values that match the regex

multiline
boolean, optional

If true indicate the regular expression should treat input as having multiple lines. This option affects the interpretation of the ^ and $ metacharacters. When true the ^ metacharacter matches at the beginning of every line, and the $ metacharacter matches at the end of every line. Additionally the . metacharacter will not match newlines when true.

false

Examples

writeDump(REFind("a+c+", "abcaaccdd"));
	writeDump(REFind("a+c*", "Abcaaccdd"));
	writeDump(REFind("['[:upper:]']", "abcaacCDD"));
	writeDump(REFind("[\?&]rep = ", "report.cfm?rep = 1234&u = 5"));
	teststring1 = "The cat in the hat hat came back!";
	st1 = REFind("(['[:alpha:]']+)[ ]+(\1)",teststring1,1,"TRUE");
	writeDump(st1['len'][3]);
	teststring2 = "AAAXAAAA";
	st2 = REFind("x",teststring2,1,"TRUE");
	writeDump(arrayLen(st2['pos']));

See also