Hi, I'm using the following regular expression: 'foob.*r' Calling MatchString() against each of the items in the stringlist, I expected it to match 3 items. Instead it only matches the first item and fails all the rest. Why???
--------------[ source code ]------------------- sl := TStringList.Create; sl.Add('1st foobr Item'); sl.Add('2nd Item'); sl.Add('3rd Item'); sl.Add('4th foobaoeuaor Item'); sl.Add('5th foobar Item'); r := TRegexEngine.Create('foob.*r'); x := 0; y := 0; for i := 0 to sl.Count-1 do begin if r.MatchString(sl.Strings[i], x, y) then writeln('match') else writeln('failed'); end; r.Free; sl.Free; --------------[ output ]------------------- match failed failed failed failed Based on the syntax documentation from TRegEx (which I believe 'regex' unit closely represents) and looking at the syntax comments inside the regex.pp unit, it should match the following... Examples: foob.*r matchs strings like 'foobar', 'foobalkjdflkj9r' and 'foobr' http://regexpstudio.com/TRegExpr/Help/regexp_syntax.html About halfway down the page... even trying a filter as follows, match NO items in the stringlist??? r := TRegexEngine.Create('th'); I expected it to match items '4th' and '5th', but it didn't. Regards, - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net/fpgui/ _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal