Changes in new versions / Delphi XE

// *** in version XE: ***
uses
  RegularExpressions;

var
  R: TRegEx;
  M: TMatch;
  Part: string;
begin
  // every digit is hidden
  Writeln(TRegEx.Replace('phone 8-916-000''\d''#'));

  // the separator is a pattern, not a single character
  for Part in TRegEx.Split('a, b;c''[,;]\s*'do
    Writeln(Part);

  // an instance compiles the pattern once and can be reused
  R := TRegEx.Create('(\w+)\s*=\s*(\w+)', [roIgnoreCase]);
  M := R.Match('width = 10, height = 20');
  while M.Success do
  begin
    Writeln(M.Groups[1].Value' -> ', M.Groups[2].Value);
    M := M.NextMatch;
  end;
end;