I use TRegExpr v.0.952 and now i want use RegexBuddy, but i can't replace code. Can u help me?

  Temp: TStringList;
  Index: Integer;
          regex: TRegExpr;
     Temp:= TStringList.Create();
     regex := TRegExpr.create();
    regex.Expression := '(?m)(?g)^ftp:.+';
    for Index:= 0 to FList.Count - 1 do
       if (regex.Match[0] <> '') and (Temp.IndexOf(regex.Match[0]) = -1) then

i paste and replase code from RegexBuddy for delphi:
Regex := TPerlRegEx.Create(nil);
Regex.RegEx := '(?m)(?g)^ftp:.+';
Regex.Options := [preMultiLine];
but i've got a error Undeclared identifier: 'exec'

7 Years
Discussion Span
Last Post by FlamingClaw

this is a section from the regexbuddy 3.0 user manual
The regex module provides the standard POSIX functions regcomp() for compiling a regular expression,
regerror() for handling compilation errors, regexec() to run a search using a compiled regex, and
regfree() to clean up a regex you’re done with.
--- --- ---
If you want to retrieve the part of the string that was matched, call the exec() function of the RegExp
object that you created, e.g.: mymatch = myregexp.exec("subject"). This function returns an array.
The zeroth item in the array will hold the text that was matched by the regular expression. The following
items contain the text matched by the capturing parentheses in the regexp, if any. mymatch.length indicates
the length of the match[] array, which is one more than the number of capturing groups in your regular
expression. mymatch.index indicates the character position in the subject string at which the regular
expression matched. mymatch.input keeps a copy of the subject string.

Calling the exec() function also changes the lastIndex property of the RegExp object. It stores the index
in the subject string at which the next match attempt will begin. You can modify this value to change the
starting position of the next call to exec().

This article has been dead for over six months. Start a new discussion instead.
Be sure to adhere to our posting rules.