Delphi 正则表达式概要1.docx
文本预览下载声明
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;//不区分大小写var? reg: TPerlRegEx;begin? reg := TPerlRegEx.Create(nil);? reg.Subject := 我爱DELPHI, 但Delphi不爱我!;? reg.RegEx? := Delphi;? reg.Replacement := ◆;? reg.Options := [preCaseLess]; //不区分大小的设定, 默认是区分的? reg.ReplaceAll;? ShowMessage(reg.Subject); //返回: 我爱◆, 但◆不爱我!? FreeAndNil(reg);end;//试试中文替换var? reg: TPerlRegEx;begin? reg := TPerlRegEx.Create(nil);? reg.Subject := 我爱DELPHI, 但Delphi不爱我!;? reg.RegEx? := 我;? reg.Replacement := ◆;? reg.ReplaceAll;? ShowMessage(reg.Subject); //返回: ◆爱DELPHI, 但Delphi不爱◆!? FreeAndNil(reg);end;//如果不区分大小写, 竟然也不区分中文字了var? reg: TPerlRegEx;begin? reg := TPerlRegEx.Create(nil);? reg.Subject := 我爱DELPHI, 但Delphi不爱我!;? reg.RegEx? := 我;? reg.Replacement := ◆;? reg.Options := [preCaseLess]; //也设定不区分大小? reg.ReplaceAll;? ShowMessage(reg.Subject); //返回: ◆◆DELPHI, ◆Delphi◆◆◆!? FreeAndNil(reg);end;//我测试了不同的汉字, 除了乱以外,没有规律; 所有如果操作汉字暂时不要指定 preCaseLessDelphi 正则表达式语法(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? FreeAndNil(reg);end;// + 的使用, + 是重复 1 个或多个var? reg: TPerlRegEx;begin? reg := TPerlRegEx.Create(nil);? reg.Subject := a aa aaa aaaa ab abb abbba a呀a;? reg.RegEx? := ab+; //使用了 + 记号, 这里是允许 a 后面有 1 个或多个 b? reg.Replacement := ◆;? reg.ReplaceAll;? ShowMessage(reg.Subject); //返回: a aa aaa aaaa ◆◆◆a a呀a? FreeAndNil(reg);end;// * 的使用, * 是重复 0 个或多个var? reg: TPerlRegEx;begin? reg := TPerlRegEx.Create(nil);? reg.Subject := a aa aaa aaaa ab abb abbba a呀a;? reg.RegEx? := ab*; //使用了 * 记号, 这里是允许 a 后面有多个或者没有 b? reg.Replacement := ◆;? reg.ReplaceAll;? ShowMessage(reg.Subject); //返回: ◆◆◆◆◆◆◆◆◆◆◆◆
显示全部