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
|
edit
Regular expression for which to search. Case sensitive. |
|
|
string
string,
required
|
edit
String in which to search. |
|
|
start
number,
optional
|
edit
A positive integer. Position in the string at which to start search. The default value is 1. |
1 |
|
returnSubExpressions
boolean,
optional
|
edit
Default: false, If set 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
|
edit
One: (Default)Returns the first value that matches the regex All: Returns all values that match the regex |
|
|
multiline
boolean,
optional
|
edit
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. Introduced: 5.3.8.23 |
false |
Examples
edit 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
- Strings
- Regex
- string.reFind()
- Search Issue Tracker open_in_new
- Search Lucee Test Cases open_in_new (good for further, detailed examples)