Regular Expression - jak to napisac ?

Regular Expression - jak to napisac ?
0

Hej, jestem newbie w Regular Expression, czy napisalby mi ktos regulke ...

mam taki tekst przykladowo : fjsdkfhdsh fdskjfhjksd {dadas|dsada|gree|qwe|rter} dsadas {343|4322|43234} dsadasd dsad

i chce wyciagnac z tego tekstu tylko slowa wraz z "|" zawarte w nawiasach pomiedzy {} ...

dzieki za pomoc.

edytowany 1x, ostatnio: madmike
olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
0

Nie określiłeś języka, a uniwersalnie nie umiem inaczej niż tak jak poniżej w Delphi. Kod korzysta z modułu z: http://regexpstudio.com

Kopiuj
uses
  regexpr;

function CzryMayPodajJezykStary(AinputString : string) : TStringList;
var
  R : TRegExpr;
begin
  R := TRegExpr.Create;
  Result := TStringList.Create;
  try
    R.Expression := '(.+?)\{(.+?)\}(.+?)';
    if R.Exec(AinputString) then
    begin
      repeat
        Result.Add(R.Match[2])
      until not R.ExecNext;
    end;
  finally
    R.Free;
  end;
end;

Przykład użycia:

Kopiuj
  Memo1.Lines.Assign(CzryMayPodajJezykStary(Memo1.Text));

EDIT: są oczywiście pewnie inne sposoby, ale to już Tobie musi podać ktoś kto ma RegExpry w małym paluszku, bo ja ogarniam tylko tyle co mi potrzeba, czyli raczej "podstawy podstaw".


Pozdrawiam.
edytowany 1x, ostatnio: olesio
0

lol wlasnie do Delphi potrzebuje :D dzieki wielkie ! :D

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.