- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Delphi 正则表达式概要1
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); //返回: ◆◆◆◆◆◆◆◆◆◆◆◆
文档评论(0)