//不用正则的处理:uses strutils;procedure TForm1.Button1Click(Sender: TObject); var i: integer; sl: tstringlist; begin sl:= tstringlist.Create; sl.Add('非诚勿扰0103'); sl.Add('锵锵三人行BD'); sl.Add('BD.快乐大本营20110103'); for i:= length(sl.Strings[0]) downto 1 do if (ByteType(sl.Strings[0][i],1) <> mbSingleByte) then begin showmessage(rightstr(sl.Strings[0],length(sl.Strings[0])-i)); break; end; for i:= length(sl.Strings[1]) downto 1 do if (ByteType(sl.Strings[1][i],1) <> mbSingleByte) then begin showmessage(rightstr(sl.Strings[1],length(sl.Strings[1])-i)); break; end; sl.Free; end;
{不好意思, 下面是用TPerlRegEx写的} with PerlRegEx1 do begin Subject := 'BD.快乐大本营20110103'; RegEx := '([\xB0-\xF7][\xA1-\xFE])+'; if Match then Showmessage(Copy(Subject, MatchedExpressionOffset+MatchedExpressionLength, MaxInt)); end;
var
i: integer;
sl: tstringlist;
begin
sl:= tstringlist.Create;
sl.Add('非诚勿扰0103');
sl.Add('锵锵三人行BD');
sl.Add('BD.快乐大本营20110103');
for i:= length(sl.Strings[0]) downto 1 do
if (ByteType(sl.Strings[0][i],1) <> mbSingleByte) then
begin
showmessage(rightstr(sl.Strings[0],length(sl.Strings[0])-i));
break;
end; for i:= length(sl.Strings[1]) downto 1 do
if (ByteType(sl.Strings[1][i],1) <> mbSingleByte) then
begin
showmessage(rightstr(sl.Strings[1],length(sl.Strings[1])-i));
break;
end; sl.Free;
end;
{不好意思, 下面是用TPerlRegEx写的}
with PerlRegEx1 do begin
Subject := 'BD.快乐大本营20110103';
RegEx := '([\xB0-\xF7][\xA1-\xFE])+';
if Match then
Showmessage(Copy(Subject, MatchedExpressionOffset+MatchedExpressionLength, MaxInt));
end;