Skip to content

RegExExtract ​

The function RegExExtract looks for a match to the pattern specified by aExpression in the string aInput, and returns the matched characters in the variable aPiece - depending on the value specified by aExpression.

Where the pattern matches, a boolean True value will be returned indicating that a match was found. False will be returned where no match was found.

Declaration: Function RegExExtract(const aExpression, aInput: String; var aPiece : String): boolean;

Several examples follow.

pascal
procedure ScriptEvent(var Value:Variant);
var
  Str1, Str2, MyOut : string;
begin
  Str1 := 'n';
  Str2 := 'banana';

 //Returns TRUE and MyOut variable is set to "n" to show what has been matched
  RegExExtract(Str1, Str2, MyOut);
  LogInfo(MyOut);

 //Returns TRUE and MyOut variable is set to "a" to show what has been matched
  RegExExtract('a','banana', MyOut);
  LogInfo(MyOut);
 If RegExExtract('a','banana',MyOut) then
    LogInfo('Yes!')
 else
    LogInfo('No . . . ');

 //Returns TRUE and sets MyOut variable to "6" (i.e. the first digit)
  RegExExtract('\d','Route 66',MyOut)
  LogInfo(MyOut);

 //Pattern "\d+" matches 1 or more consecutive digits
 //Function returns TRUE and sets MyOut variable to "66"
  RegExExtract('\d+','Route 66',MyOut)
  LogInfo(MyOut);

 //Returns TRUE and sets MyOut variable to "555"
  RegExExtract('\d{3}','+1-555-123-4567',MyOut)
  LogInfo(MyOut);

end;