Ich habe festgestellt, dass die RegEx Suche (Mode roSingleLine) ueber mehrere Zeilen des RichEdit.Text versagt, wenn man sich den mehrzeiligen Text aus RichEdit.SelText holt. Grund dafuer ist, dass beim Text in RichEdit.SelText die Character #10 nach den Charactern #13 verloren gehen (Zeilenumbruch).
Die #10 Character lassen sich wieder herstellen mit
Delphi-Quellcode:
Str := RichEdit1.SelText;
CorrectedStr := StringReplace(Str,char(#13),char(#13)+char(#10),[rfReplaceAll, rfIgnoreCase]);
Danach einfach RegEx ausfuehren:
Delphi-Quellcode:
RegExStr := '.*?(\d+).*?';
RegEx := TRegEx.Create(RegExStr,[roSingleLine,roIgnoreCase]);
MatchZahl := RegEx.Matches(CorrectedStr);
Vielleicht stolpert ja jemand ueber das gleiche Problem.