关于 TRegEx.Split()

    添加时间:2013-6-21 点击量:


    表达式中的括号将严重影响分别成果.



    uses RegularExpressions;

    const
    FSourceText = 1: AAA 2: BBB 3: CCC; // 分隔符将有三项目组构成: 一个数字, 一个冒号, 一个空格
    var
    Arr: TArray;
    str: string;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Arr := TRegEx.Split(FSourceText, \d: );

    Memo1.Clear;
    for str in Arr do Memo1.Lines.Add(str);
    {成果:

    AAA
    BBB
    CCC
    }
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    Arr := TRegEx.Split(FSourceText, (\d): ); //括号中的项目组被当做分别后的元素

    Memo1.Clear;
    for str in Arr do Memo1.Lines.Add(str);
    {

    1
    AAA
    2
    BBB
    3
    CCC
    }
    end;

    procedure TForm1.Button3Click(Sender: TObject);
    begin
    Arr := TRegEx.Split(FSourceText, (\d:) ); // 证实上方

    Memo1.Clear;
    for str in Arr do Memo1.Lines.Add(str);
    {

    1:
    AAA
    2:
    BBB
    3:
    CCC
    }
    end;

    procedure TForm1.Button4Click(Sender: TObject);
    begin
    Arr := TRegEx.Split(FSourceText, (\d)(:) ); // 若是有两个括号, 取后面括号的内容做元素

    Memo1.Clear;
    for str in Arr do Memo1.Lines.Add(str);
    {

    :
    AAA
    :
    BBB
    :
    CCC
    }
    end;

    procedure TForm1.Button5Click(Sender: TObject);
    begin
    Arr := TRegEx.Split(FSourceText, (\d)(:)( )); // 证实上方

    Memo1.Clear;
    for str in Arr do Memo1.Lines.Add(str);
    {


    AAA

    BBB

    CCC
    }
    end;

    文艺不是炫耀,不是花哨空洞的文字堆砌,不是一张又一张的逆光照片,不是将旅行的意义转化为名牌包和明信片的物质展示;很多时候它甚至完全不美——它嘶吼、扭曲,它会痛苦地抽搐,它常常无言地沉默。——艾小柯《文艺是一种信仰》
    分享到: