Delphi 正则表达式 起步

在 Delphi 中使用正则表达式, 目前 PerlRegEx 应该是首选, 准备彻底而细致地研究它.


官方网站: http://www.regular-expressions.info/delphi.html
直接下载: http://www.regular-expressions.info/download/TPerlRegEx.zip


安装方法:

1、先把解压的 TPerlRegEx 文件夹放一个合适的地方, 我放在了 Delphi 的 Imports 目录中.

2、目前最新 For Win32 的版本是对 Delphi 2006 的, 2007 也能用. 
    打开 PerlRegExD2006.dpk, 提示缺少资源文件, 没关系; 
    在 Project Manager 窗口中的 PerlRegExD2006.bpl 上点击右键, 执行 Install;
    这时在 Tool Palette 的列表中已经有了 TPerlRegEx, 在 JGsoft 组.

3、Tools -> Options -> Environment Options -> Delphi Options -> Library-Win32 -> Library path -> 
    添加路径: ...\Imports\TPerlRegEx

4、可以使用了! 直接 uses PerlRegEx 或从 Tool Palette 添加都可以.
    如果不喜欢 Tool Palette 的添加方式可以省略第二步.


计划的学习步骤: 1、正则语法; 2、TPerlRegEx 功能.


 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    Label1: TLabel;
    Edit2: TEdit;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
//先测试一下:
uses
  PerlRegEx; //uses 正则表达式单元
procedure TForm1.Button1Click(Sender: TObject);
var
  reg: TPerlRegEx; //声明正则表达式变量
begin
  reg := TPerlRegEx.Create; //建立,D7下貌似不能TPerlRegEx.Create(nil)
  if Memo1.Text <> '' then  //如果源字符串为空将会出错,所以加判断语句
    begin
      reg.Subject := Memo1.Text;    //这是要替换的源字符串,例如'sSsS'
      reg.RegEx := Edit1.Text;       //这是表达式, 在这里是准备替换掉的子串,例如's'
      reg.Replacement := Edit2.Text;  //要替换成的新串,例如'◆'
      reg.ReplaceAll;           //执行全部替换

      ShowMessage(reg.Subject); //用消息框显示替换结果: ◆S◆S
      Memo1.Text:=reg.Subject;  //用memo显示替换结果
    end
    else
    reg.Free; //D7下貌似不能 FreeAndNil(reg)
end;


procedure TForm1.Button2Click(Sender: TObject); //清空
begin
  Memo1.Clear;
  Edit1.Clear;
  Edit2.Clear;
end;

end.

转载于:https://www.cnblogs.com/keyvip/archive/2010/11/02/1867371.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值