Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   TRegExpr (https://forum.antichat.xyz/showthread.php?t=199298)

IgrikX 26.04.2010 00:29

TRegExpr
 
Как установить компонент 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

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

JnK 26.04.2010 01:11

Цитата:

Сообщение от IgrikX
Как установить компонент 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

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

1. Google
2. Поиск: http://forum.antichat.ru/showthread.php?p=2077329
3. В архиве должны быть демки

GhostOnline 26.04.2010 12:55

http://www.autocombats.info/files/regexp/index.html доки на русском, у меня в закладках
Цитата:

Выбираю из списка Microsoft VBScript Regular Expression 5.5 5. Выбираю галочку Generate Component Wrappers. 6. Генирируються какие-то файлы VBScript_RegExp_55_TLB.h и VBScript_RegExp_55_TLB.cpp
А зачем майкрософтовсктй устанавливаешь, если тебе TRegExpr надо было :confused:
И вообще-то это не компонент, а класс!
Просто подключаешь модуль в uses, и как бы используешь
Сорри, забыл что билдер, конечно же не uses а как там у вас пространства имен подключаются

IgrikX 26.04.2010 16:36

ну, я вкурил уже..

IgrikX 26.04.2010 17:56

Только не вкурил как его использовать. Кто знает помогите. Или скиньте пример.
PHP код:

RegExp *re;

re->Pattern = (wchar_t*)"aaa";
UnicodeString str "aaa 111 vvv";
String Result re->Replace(str,"aaa");
Memo1->Text Result


GhostOnline 26.04.2010 18:19

Пример на дельфи
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;

Цитата:

RegExp *re;
Хм, мы говорим о разных классах?

HakaR 26.04.2010 19:15

Цитата:

Сообщение от GhostOnline
Пример на дельфи
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;


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

У меня почему то, всегда в Match[0] пустота...

Вот от меня пример (дельфи)
PHP код:

var RegExpTRegExpr;
begin
 RegExp 
:= TRegExpr.Create;
 
RegExp.Expression := 'http://(.+?)/';
 
RegExp.Exec(url.text);
 
url_ := RegExp.Match[1];
 
RegExp.Free;
end


GhostOnline 26.04.2010 19:30

Reg.Match[0] - это в в целом выражение,
REg.Match[1] - это первое подвыражение
Учи матчасть ;)

dampil 26.04.2010 19:30

Код:


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");


IgrikX 26.04.2010 19:46

GhostOnline, походу да..)


Время: 05:17