//[]范围替换 //[]匹配大写字符A-D procedure TForm1.btn6Click(Sender: TObject); var Reg: TPerlRegEx; begin Reg := TPerlRegEx.Create(nil); with Reg do begin Subject := 'Aa Bb Cc Dd Ee'; RegEx := '[A-D]'; Replacement := '¥'; ReplaceAll; ShowMessage(Subject); // ¥a ¥b ¥c ¥d Ee FreeAndNil(Reg); end; end; //[]匹配小写字符a-d //注意大小写 procedure TForm1.btn7Click(Sender: TObject); var Reg: TPerlRegEx; begin Reg := TPerlRegEx.Create(nil); with Reg do begin Subject := 'Aa Bb Cc Dd Ee'; RegEx := '[a-d]'; Replacement := '¥'; // Options := [preCaseLess]; //不区分大小写 ReplaceAll; ShowMessage(Subject); // A¥ B¥ C¥ D¥ Ee //不区分大小写结果 ¥¥ ¥¥ ¥¥ ¥¥ Ee FreeAndNil(Reg); end; end; //[]匹配所有数字 procedure TForm1.btn8Click(Sender: TObject); var Reg: TPerlRegEx; begin Reg := TPerlRegEx.Create(nil); with Reg do begin Subject := 'Aa Bb Cc Dd Ee 0123456789'; RegEx := '[0-9]'; Replacement := '¥'; Options := [preCaseLess];//数字不区分大小写的 ReplaceAll; ShowMessage(Subject); // Aa Bb Cc Dd Ee ¥¥¥¥¥¥¥¥¥ FreeAndNil(Reg); end; end; //[]多条件替换 procedure TForm1.btn9Click(Sender: TObject); var Reg: TPerlRegEx; begin Reg := TPerlRegEx.Create(nil); with Reg do begin Subject := 'Aa Bb Cc Dd Ee 0123456789'; RegEx := '[A-Da-d0-2]'; //替换A-D a-d 0-2 Replacement := '¥'; ReplaceAll; ShowMessage(Subject); // ¥¥ ¥¥ ¥¥ ¥¥ Ee ¥¥¥3456789 FreeAndNil(Reg); end; end; //^排队[]中的所有 //注意^与[]号的位置 procedure TForm1.btn10Click(Sender: TObject); var Reg: TPerlRegEx; begin Reg := TPerlRegEx.Create(nil); with Reg do begin Subject := 'Aa Bb Cc Dd Ee 0123456789'; // RegEx := '^[A-Da-d0-8]'; //要是^在外只有A被替换 RegEx := '[^A-Da-d0-8]'; //替换将A-D a-d 0-2除外,注意此时空格也会被替换 Replacement := '¥'; ReplaceAll; ShowMessage(Subject); // Aa¥Bb¥Cc¥Dd¥Ee¥012345678¥ FreeAndNil(Reg); end; end;