Delphi中正则表达式语法(5) 边界

// \b 单词边界
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := 'Delphi Delphi2007 MyDelphi';
  reg.RegEx   := '\bDelphi\b'; //前后边界
  reg.Replacement := '◆';
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: ◆ Delphi2007 MyDelphi

  FreeAndNil(reg);
end;

// \b 单词边界: 左边界
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := 'Delphi Delphi2007 MyDelphi';
  reg.RegEx   := '\bDelphi'; //左边界
  reg.Replacement := '◆';
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: ◆ ◆2007 MyDelphi

  FreeAndNil(reg);
end;

// \b 单词边界: 右边界
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := 'Delphi Delphi2007 MyDelphi';
  reg.RegEx   := 'Delphi\b'; //右边界
  reg.Replacement := '◆';
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: ◆ Delphi2007 My◆

  FreeAndNil(reg);
end;

// \B 非单词边界
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := 'Delphi MyDelphi2007 MyDelphi';
  reg.RegEx   := '\BDelphi\B'; //现在只有 MyDelphi2007 中的 Delphi 属于非单词边界
  reg.Replacement := '◆';
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: Delphi My◆2007 MyDelphi

  FreeAndNil(reg);
end;

// ^ 行首
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := 'Delphi Delphi2007 MyDelphi';
  reg.RegEx   := '^Del'; //匹配在行首的 Del
  reg.Replacement := '◆';
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: ◆phi Delphi2007 MyDelphi

  FreeAndNil(reg);
end;

// \A 也标记行首
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := 'Delphi Delphi2007 MyDelphi';
  reg.RegEx   := '\ADel'; //匹配在行首的 Del
  reg.Replacement := '◆';
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: ◆phi Delphi2007 MyDelphi

  FreeAndNil(reg);
end;

// $ 行尾
// www.bianceng.cn
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := 'Delphi Delphi2007 MyDelphi';
  reg.RegEx   := 'phi$'; //匹配在行尾的 phi
  reg.Replacement := '◆';
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: Delphi Delphi2007 MyDel◆

  FreeAndNil(reg);
end;

// \Z 也标记行尾
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := 'Delphi Delphi2007 MyDelphi';
  reg.RegEx   := 'phi\Z'; //匹配在行尾的 phi
  reg.Replacement := '◆';
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: Delphi Delphi2007 MyDel◆

  FreeAndNil(reg);
end;

// 测试时, \Z 不区分大小写; \A 区分

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索delphi
, replaceall
, reg
, 2007
, Delphi2007
, 单词边界
replaceAll()
正则表达式 单词边界、正则表达式 边界、正则表达式边界匹配、delphi 正则表达式、delphi7 正则表达式,以便于您获取更多的相关知识。

时间: 2024-09-20 08:02:50

Delphi中正则表达式语法(5) 边界的相关文章

Delphi中正则表达式语法(10) 选项

// preCaseLess: 不区分大小写, 相当于其他语言中的 i var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'abc ABC aBc'; reg.RegEx := 'abc'; reg.Replacement := '◆'; reg.Options := [preCaseLess]; //选项是集合类型的 reg.ReplaceAll; ShowMessage(reg.Subject);

Delphi中正则表达式语法(8) 引用子表达式

//准备: 我们先写一个搜索所有英文单词的表达式 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'one two three four five six seven eight nine ten'; reg.RegEx := '\b[A-Za-z]+\b'; //这个表达式就可以找到所有的英文单词 reg.Replacement := '◆'; reg.ReplaceAll; ShowMessag

Delphi中正则表达式语法(9) 临界匹配

//匹配右边 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'Delphi 6; Delphi 7; Delphi 2007; Delphi Net'; reg.RegEx := 'Delphi (?=2007)'; // ?= reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: Delphi 6; Del

Delphi中正则表达式语法(7) 匹配转义字符

// ? 号的意义是匹配 0-1 次, 如果需要匹配 ? 怎么办 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := '你好吗? 还行!'; reg.RegEx := '\?|!'; // 加转义用的 \ reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: 你好吗◆ 还行◆ FreeAndNil(reg); en

Delphi中正则表达式语法(4) 常用转义字符与

// \d 匹配所有数字, 相当于 [0-9] var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := '期待Delphi 2008 for Win32!'; reg.RegEx := '\d'; reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: 期待Delphi ◆◆◆◆ for Win◆◆! FreeAndNi

Delphi中正则表达式语法(3) 匹配范围

// [A-Z]: 匹配所有大写字母 var reg: TPerlRegEx;begin reg := TPerlRegEx.Create(nil); reg.Subject := 'CodeGear Delphi 2007 for Win32'; reg.RegEx := '[A-Z]'; reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆ode◆ear ◆elphi 2007 for ◆ in32

Delphi中正则表达式语法(1) 关于大小写与中文

//替换一般字符串 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := '我爱DELPHI, 但Delphi不爱我!'; reg.RegEx := 'Delphi'; reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: 我爱DELPHI, 但◆不爱我! FreeAndNil(reg); end; //不区分大小写

Delphi中正则表达式语法(2) 或者与重复

// | 号的使用, | 是或者的意思 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'CodeGear Delphi 2007'; reg.RegEx := 'e|Delphi|0'; //使用了 | 记号 reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: Cod◆G◆ar ◆ 2◆◆7 FreeAnd

Delphi中正则表达式语法(6) 贪婪匹配与非贪婪匹配

//贪婪匹配 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := '<html><head><title>标题 </title></head><body>内容 </body></html>'; reg.RegEx := '<.*>'; //将会全部匹配, 因为两头分别是: < 和 > reg.R