TRegExpr

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by IgrikX, 26 Apr 2010.

  1. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    Как установить компонент TRegExpr в Builder C++ 2010.
    Делаю всё по шагам:
    1. Component
    2. Import Component
    3. Import a Type Library
    4. Выбираю из списка Microsoft VBScript Regular Expression 5.5
    5. Выбираю галочку Generate Component Wrappers.
    6. Генирируються какие-то файлы VBScript_RegExp_55_TLB.h и VBScript_RegExp_55_TLB.cpp

    Согбственно, как использовать сам компонент. Мб у кого будет примеры по использованию?
     
  2. JnK

    JnK Elder - Старейшина

    Joined:
    30 Mar 2007
    Messages:
    125
    Likes Received:
    21
    Reputations:
    0
    1. Google
    2. Поиск: http://forum.antichat.ru/showthread.php?p=2077329
    3. В архиве должны быть демки
     
  3. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    http://www.autocombats.info/files/regexp/index.html доки на русском, у меня в закладках
    А зачем майкрософтовсктй устанавливаешь, если тебе TRegExpr надо было :confused:
    И вообще-то это не компонент, а класс!
    Просто подключаешь модуль в uses, и как бы используешь
    Сорри, забыл что билдер, конечно же не uses а как там у вас пространства имен подключаются
     
    #3 GhostOnline, 26 Apr 2010
    Last edited: 26 Apr 2010
  4. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    ну, я вкурил уже..
     
  5. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    Только не вкурил как его использовать. Кто знает помогите. Или скиньте пример.
    PHP:
    RegExp *re;

    re->Pattern = (wchar_t*)"aaa";
    UnicodeString str "aaa 111 vvv";
    String Result re->Replace(str,"aaa");
    Memo1->Text Result;
     
    #5 IgrikX, 26 Apr 2010
    Last edited: 26 Apr 2010
  6. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Пример на дельфи
    var
    reg : TRegExpr;
    begin
    reg := TRegExpr.Create;
    reg.Expression := 'aaa';
    if reg.Exec('aaa 111 vvv')
    then Memo1.Text := reg.Match[0];
    reg.Free;
    end;

    Хм, мы говорим о разных классах?
     
  7. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    У меня почему то, всегда в Match[0] пустота...

    Вот от меня пример (дельфи)
    PHP:
    var RegExpTRegExpr;
    begin
     RegExp 
    := TRegExpr.Create;
     
    RegExp.Expression := 'http://(.+?)/';
     
    RegExp.Exec(url.text);
     
    url_ := RegExp.Match[1];
     
    RegExp.Free;
    end;
     
    #7 HakaR, 26 Apr 2010
    Last edited: 26 Apr 2010
  8. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Reg.Match[0] - это в в целом выражение,
    REg.Match[1] - это первое подвыражение
    Учи матчасть ;)
     
  9. dampil

    dampil New Member

    Joined:
    5 May 2005
    Messages:
    12
    Likes Received:
    1
    Reputations:
    0
    Code:
    
    AnsiString input="Text here";
    AnsiString exp="(.{1,2}) ";
      TRegExpr* r= new TRegExpr;
      r->Expression=exp;
    
     if(r->Exec(input))
    ShowMessage(r->Match[1]);
    
     else
           
    ShowMessage("Empty");
    
    
     
  10. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    GhostOnline, походу да..)
     
  11. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Так блин в сабже то другой указан
     
  12. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    Тогда вопрос, как установить TRegExpr в builder?
     
  13. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    его устанавливать не надо, просто подключаешь пространство имен как и остальные,
    и используешь в коде
     
  14. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    Как ?? пишу
    TRegExpr *re;
    выдаёт ошибку, мол нет такого?
     
  15. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Видимо так
    С этого и надо было начинать..
    Залил, special for you: _http://slil.ru/29037076
     
    #15 GhostOnline, 26 Apr 2010
    Last edited: 26 Apr 2010
  16. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    а де модуль взять.. в гугле битые ссылки..
     
  17. IgrikX

    IgrikX New Member

    Joined:
    13 Aug 2009
    Messages:
    114
    Likes Received:
    1
    Reputations:
    -3
    Благодарю.)