Delphi 正则表达式语法(2): 或者与重复
2009-12-07 11:15
477 查看
www.u8686.com-信息发布平台
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 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); //返回: ◆ ◆◆ ◆◆◆ ◆◆◆◆ ◆ ◆ ◆◆ ◆呀◆ FreeAndNil(reg); end; // ? 的使用, ? 是重复 0 个或 1 个 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'a aa aaa aaaa ab abb abbba a呀a'; reg.RegEx := 'a?'; //使用了 ? 记号 reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆ ◆◆ ◆◆◆ ◆◆◆◆ ◆b ◆bb ◆bbb◆ ◆呀◆ 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 := 'a{3}'; //这里指定重复 3 次 reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: a aa ◆ ◆a ab abb abbba a呀a FreeAndNil(reg); end; //大括号的使用<2> var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'a aa aaa aaaa ab abb abbba a呀a'; reg.RegEx := 'a{2,4}'; //这里指定重复 2-4 次 reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: a ◆ ◆ ◆ ab abb abbba a呀a FreeAndNil(reg); end; //大括号的使用<3> var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'a aa aaa aaaa ab abb abbba a呀a'; reg.RegEx := 'a{1,}'; //n 个或多个, 这里是 1 个或多个 reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆ ◆ ◆ ◆ ◆b ◆bb ◆bbb◆ ◆呀◆ FreeAndNil(reg); end; //上面这个 {1,} 和 + 是等效的; //还有 {0,1} 与 ? 是等效的; //{0,} 和 * 是等效的
[/code]
0
0
0
(请您对文章做出评价)
相关文章推荐
- Delphi 正则表达式语法(2): 或者与重复
- Delphi 正则表达式语法(2): 或者与重复
- Delphi 正则表达式语法(2): 或者与重复
- Delphi 正则表达式语法(2): 或者与重复
- Delphi 正则表达式语法(2): 或者与重复
- Delphi 正则表达式语法(2): 或者与重复
- 如何用正则表达式实现规定用户输入密码的格式为:(长度6到18个字符,不能全为重复字母,或者连续字母)
- Delphi 正则表达式语法(1): 关于大小写与中文
- Delphi 正则表达式语法(7): 匹配转义字符
- Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用
- Delphi 正则表达式语法(5): 边界
- Delphi 正则表达式语法(7): 匹配转义字符
- Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用
- Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用
- Delphi 正则表达式语法(1): 关于大小写与中文
- Delphi 正则表达式语法(9): 临界匹配 - 也叫"预搜索"与"反向预搜索"
- Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用
- Delphi 正则表达式语法
- Delphi 正则表达式语法: 关于大小写与中文
- Delphi 正则表达式语法(3): 匹配范围