Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找
16lz
2021-04-30
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;
更多相关文章
- (lintcode)第14题二分查找
- (lintcode)第13题字符串的查找
- (lintcode)第11题二叉查找树中搜索区间
- Intellij IDEA快捷键大全
- MAC中IntelliJ Idea常用快捷键
- 超极本盘符丢失找到数据的办法
- 【linux】循序渐进学运维-基础命令篇-查找类命令
- 技术问答-23 javabean创建一个二叉树,左右两个叶子节点 (1)要求每
- Dom元素增加删除,修改,查找