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.
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
;