Delphi中正则表达式语法(5) 边界2012-12-20 万一
// 单词边界varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "Delphi Delphi2007 MyDelphi"; reg.RegEx := "Delphi"; //前后边界reg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆ Delphi2007 MyDelphi FreeAndNil(reg);end; // 单词边界: 左边界varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "Delphi Delphi2007 MyDelphi"; reg.RegEx := "Delphi"; //左边界reg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆ ◆2007 MyDelphi FreeAndNil(reg);end; // 单词边界: 右边界varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "Delphi Delphi2007 MyDelphi"; reg.RegEx := "Delphi"; //右边界reg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆ Delphi2007 My◆ FreeAndNil(reg);end; // B 非单词边界varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "Delphi MyDelphi2007 MyDelphi";reg.RegEx := "BDelphiB"; //现在只有 MyDelphi2007 中的 Delphi 属于非单词边界reg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: Delphi My◆2007 MyDelphi FreeAndNil(reg);end; // ^ 行首varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "Delphi Delphi2007 MyDelphi";reg.RegEx := "^Del"; //匹配在行首的 Delreg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆phi Delphi2007 MyDelphi FreeAndNil(reg);end; // A 也标记行首varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "Delphi Delphi2007 MyDelphi";reg.RegEx := "ADel"; //匹配在行首的 Delreg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆phi Delphi2007 MyDelphi FreeAndNil(reg);end; // $ 行尾// www.bianceng.cnvarreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "Delphi Delphi2007 MyDelphi"; reg.RegEx := "phi$"; //匹配在行尾的 phireg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: Delphi Delphi2007 MyDel◆ FreeAndNil(reg);end; // 也标记行尾varreg: TPerlRegEx;beginreg := TPerlRegEx.Create(nil); reg.Subject := "Delphi Delphi2007 MyDelphi";reg.RegEx := "phi"; //匹配在行尾的 phireg.Replacement := "◆";reg.ReplaceAll; ShowMessage(reg.Subject); //返回: Delphi Delphi2007 MyDel◆ FreeAndNil(reg);end; // 测试时, 不区分大小写; A 区分