您的位置:首页 > 编程语言 > Delphi

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

2014-10-29 09:57 337 查看

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;


// $ 行尾
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 区分
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: