//查找是否存在
var
reg: TPerlRegEx;
begin
reg := TPerlRegEx.Create(nil);
reg.Subject := 'CodeGear Delphi 2007 for Win32';
reg.RegEx := '\d';
if reg.Match then
ShowMessage('找到了')
else
ShowMessage('沒(méi)找到');
FreeAndNil(reg);
end;
//查找是否存在(方法2)
var
reg: TPerlRegEx;
begin
reg := TPerlRegEx.Create(nil);
reg.Subject := 'CodeGear Delphi 2007 for Win32';
reg.RegEx := '\d';
reg.Match; //執(zhí)行查找
if reg.FoundMatch then //布爾變量 FoundMatch 會(huì)告訴我們查找有沒(méi)有結(jié)果
ShowMessage('找到了')
else
ShowMessage('沒(méi)找到');
FreeAndNil(reg);
end;
//顯示找到的第一個(gè)
var
reg: TPerlRegEx;
begin
reg := TPerlRegEx.Create(nil);
reg.Subject := 'CodeGear Delphi 2007 for Win32';
reg.RegEx := '\d';
if reg.Match then
ShowMessage(reg.MatchedExpression) //2
else
ShowMessage('沒(méi)找到');
FreeAndNil(reg);
end;
//分別顯示找到的每一個(gè)和總數(shù)
var
reg: TPerlRegEx;
num: Integer; //用 num 來(lái)計(jì)數(shù)
begin
reg := TPerlRegEx.Create(nil);
reg.Subject := 'CodeGear Delphi 2007 for Win32';
reg.RegEx := '\d';
num := 0;
while reg.MatchAgain do //MatchAgain 是下一個(gè)
begin
ShowMessage(reg.MatchedExpression); //將分別顯示: 2 0 0 7 3 2
Inc(num);
end;
ShowMessage(IntToStr(num)); //6
FreeAndNil(reg);
end;
//分別顯示找到的每一個(gè)和總數(shù)(另一種寫法)
var
reg: TPerlRegEx;
num: Integer; //用 num 來(lái)計(jì)數(shù)
begin
reg := TPerlRegEx.Create(nil);
reg.Subject := 'CodeGear Delphi 2007 for Win32';
reg.RegEx := '\d';
num := 0;
if reg.Match then
begin
repeat
ShowMessage(reg.MatchedExpression); //將分別顯示: 2 0 0 7 3 2
Inc(num);
until (not reg.MatchAgain);
end;
ShowMessage(IntToStr(num)); //6
FreeAndNil(reg);
end;
//目標(biāo)字符串的位置與長(zhǎng)度
var
reg: TPerlRegEx;
begin
reg := TPerlRegEx.Create(nil);
reg.Subject := 'CodeGear Delphi 2007 for Win32';
reg.RegEx := 'Delphi';
while reg.MatchAgain do //很明顯: 本例只能找到一個(gè)結(jié)果
begin
ShowMessage(reg.MatchedExpression); //找到的字符串: Delphi
ShowMessage(IntToStr(reg.MatchedExpressionOffset)); //它所在的位置: 10
ShowMessage(IntToStr(reg.MatchedExpressionLength)); //它的長(zhǎng)度: 6
end;
FreeAndNil(reg);
end;