zoukankan      html  css  js  c++  java
  • 关于 TRegEx.Split()


    表达式中的括号将严重影响分割结果.

    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;
    

  • 相关阅读:
    bzoj1297 [SCOI2009]迷路
    bzoj1085 [SCOI2005]骑士精神
    bzoj1009 [HNOI2008]GT考试
    uoj#73 【WC2015】未来程序
    bzoj1016 [JSOI2008]最小生成树计数
    bzoj2818 Gcd
    python递归——汉诺塔
    python参数
    python函数
    为什么会出现__pycache__文件夹?
  • 原文地址:https://www.cnblogs.com/del/p/3147911.html
Copyright © 2011-2022 走看看