//查找是否存在 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('沒找到'); FreeAndNil(reg); end; //查找是否存在(方法2) var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'CodeGear Delphi 2007 for Win32'; reg.RegEx := '\d'; reg.Match; //執行查找 if reg.FoundMatch then //布爾變量 FoundMatch 會告訴我們查找有沒有結果 ShowMessage('找到了') else ShowMessage('沒找到'); FreeAndNil(reg); end; //顯示找到的第一個 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('沒找到'); FreeAndNil(reg); end; //分別顯示找到的每一個和總數 var reg: TPerlRegEx; num: Integer; //用 num 來計數 begin reg := TPerlRegEx.Create(nil); reg.Subject := 'CodeGear Delphi 2007 for Win32'; reg.RegEx := '\d'; num := 0; while reg.MatchAgain do //MatchAgain 是下一個 begin ShowMessage(reg.MatchedExpression); //將分別顯示: 2 0 0 7 3 2 Inc(num); end; ShowMessage(IntToStr(num)); //6 FreeAndNil(reg); end; //分別顯示找到的每一個和總數(另一種寫法) var reg: TPerlRegEx; num: Integer; //用 num 來計數 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; //目標字符串的位置與長度 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'CodeGear Delphi 2007 for Win32'; reg.RegEx := 'Delphi'; while reg.MatchAgain do //很明顯: 本例只能找到一個結果 begin ShowMessage(reg.MatchedExpression); //找到的字符串: Delphi ShowMessage(IntToStr(reg.MatchedExpressionOffset)); //它所在的位置: 10 ShowMessage(IntToStr(reg.MatchedExpressionLength)); //它的長度: 6 end; FreeAndNil(reg); end;