首页 > 代码库 > Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找

Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找

Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找

//查找是否存在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 := 0while 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 := 0if 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;

Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找