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

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

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'

Recommended Answers

All 5 Replies

What about units....?
Do not forget to add TRegExpr into uses section of the unit. :D

no. i use:
uses ..., PerlRegEx;

i know this site. and what?
i need a specific example or ... help

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().

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.