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 := 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;


©著作权归作者所有:来自51CTO博客作者JLee79的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. (lintcode)第14题二分查找
  2. (lintcode)第13题字符串的查找
  3. (lintcode)第11题二叉查找树中搜索区间
  4. Intellij IDEA快捷键大全
  5. MAC中IntelliJ Idea常用快捷键
  6. 超极本盘符丢失找到数据的办法
  7. 【linux】循序渐进学运维-基础命令篇-查找类命令
  8. 技术问答-23 javabean创建一个二叉树,左右两个叶子节点 (1)要求每
  9. Dom元素增加删除,修改,查找

随机推荐

  1. 用jquery改变样式:after
  2. jquery ajax 提交信息后等待返回的提示信
  3. jQuery:AJAX知识点及async同步异步的区别
  4. Ajax调用php脚本返回404错误
  5. jQuery 对Ajax的支持——从Ajax基本实现
  6. 如何将表单转换成json通过AJAX传递?
  7. 从JQuery文件输入中获取数据
  8. 模态的jQuery动态高度宽度
  9. 如何使用jQuery捕获对href值的单击
  10. 使用jquery从mysql数据库加载数据